Node.js agent release notes
Release date: August 8, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Important
Contrast will discontinue support for Node.js 16 (LTS) in October 2025. Customers should upgrade to the latest Node.js LTS version, which is currently version 22.17.0 (LTS).
New and improved:
Refactored the Assess reporting to no longer rely on the
RESPONSE_FINISH
event, which improves support for non-HTTP sources like WebSockets and message queues. (NODE-3804)
Bug fixes:
Fixed an issue where the agent failed to load when using an absolute path to the package root. The fix reintroduces the
main
field to thepackage.json
to support more complex deployment scenarios. (NODE-3851)
Release date: July 31, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Important
Contrast will discontinue support for Node.js 16 (LTS) in October 2025. Customers should upgrade to the latest Node.js LTS version, which is currently version 22.17.0 (LTS).
New and improved:
To simplify the code and improve maintainability, this update refactors the nested propagators out of the
util-format
propagator. This change resolves multiple instances where patched methods were being used within the propagator. (NODE-3773)The request scope was refactored to use a single, shared abstraction,
store.sourceInfo
, instead of separate objects for different components. This change reduces code duplication and improves memory efficiency by providing a common request abstraction for all features. (NODE-3808)
Bug fixes:
When a TypeError was thrown when the
body-parser
module was used without a request body, an issue with route mapping, where a route signature could not be generated due to empty observables, was resolved. (NODE-3836)When a "Maximum call stack size exceeded" caused error occurred when handling recursively mounted routers in Express 5, the instrumentation now correctly handles nested routing scenarios without crashing, even when a router is mounted at multiple paths. (NODE-3849)
Release date: July 10, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Important
Contrast will discontinue support for Node.js 16 (LTS) in October 2025. Customers should upgrade to the latest Node.js LTS version, which is currently version 22.17.0 (LTS).
New and improved:
The agent will now intelligently detect and prevent duplicate instrumentation, ensuring that only the first specified agent applies its instrumentation to the application. This enhancement streamlines agent deployment and avoids unintended overhead or conflicts from multiple instrumentation instances. (NODE-3830)
Bug fixes:
Fixed underlying issues, ensuring that all valid
Express.js
routing configurations, regardless of composition order or the sole use ofRouter.use()
now reliably generates both discovery and observation events. This update significantly improves the accuracy and completeness of monitoring data forExpress.js
applications. (NODE-3823)Fixed an issue where our dataflow source instrumentation for
body-parser
did not support version 2, which is utilized by Express 5. We updated the agent to extendbody-parser
instrumentation to ensure that applications using Express 5 andbody-parser
version 2 now have complete and accurate dataflow source visibility. (NODE-3826)Fixed an issue that prevented the correct reporting of application libraries when those libraries were also dependencies of the agent itself. We refined the dependency filtering logic within
utils.js listInstalled()
, ensuring that all legitimate application libraries are now accurately identified and reported, even if they overlap with agent dependencies. (NODE-3827)
Release date: July 1, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Important
Contrast will discontinue support for Node.js 16 (LTS) in October 2025. Customers should upgrade to the latest Node.js LTS version, which is currently version 22.17.0 (LTS).
Bug fixes:
Fixed an issue where
Math.random
calls would incorrectly throw an error when thecrypto-weak-randomness
rule was active. (NODE-3832)
Release date: June 25, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Important
Contrast will discontinue support for Node.js 16 (LTS) in October 2025. Customers should upgrade to the latest Node.js LTS version, which is currently version 22.17.0 (LTS).
New and improved:
Tag ranges are incorrect when
String.prototype.concat
argument(s) is an Array. (NODE-3748)Update the agent to comply with the latest Assess-in-Production specification updates. (NODE-3808)
Publish Node agent package with all dependencies included. (NODE-3817)
Bug fixes:
Fix application-version header reporting. (NODE-3829)
Release date: June 17, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Important
Contrast will discontinue support for Node.js 16 (LTS) in October 2025. Customers should upgrade to the latest Node.js LTS version, which is currently version 22.17.0 (LTS).
New and improved:
Send up
memory_metrics
to Contrast in theserver_inventory
payload. (NODE-3819)
Release date: June 16, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Important
Contrast will discontinue support for Node.js 16 (LTS) in October 2025. Customers should upgrade to the latest Node.js LTS version, which is currently version 22.17.0 (LTS).
New and improved:
Support all Assess-Prod sampling settings. (NODE-3769)
Investigate updating
@swc/core
to improved minification options. (NODE-3785)Collect the maximum memory limit for a Node.js app in a container or virtual server and process. (NODE-3797)
Log the agent reporting instance GUID and AppId GUID on startup at the INFO log level. (NODE-3798)
Release date: May 22, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Important
Contrast will discontinue support for Node.js 16 (LTS) in October 2025. Customers should upgrade to the latest Node.js LTS version, which is currently version 22.17.0 (LTS).
New and improved:
Deadzone
@opentelemetry
packages. (NODE-3740)Revise
effective_config
output to match new standard and other agents. (NODE-3782)Update
Contrast-UI
reporter proxy for better compatibility with firewalls. (NODE-3790)
Bug fixes:
Security bypass semantic rule is not reporting stacktrace or exploit metadata correctly. (NODE-3771)
Fastify instrumentation errors when using
@fastify/websocket
. (NODE-3794)
Release date: May 12, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Important
Contrast will discontinue support for Node.js 16 (LTS) in October 2025. Customers should upgrade to the latest Node.js LTS version, which is currently version 22.17.0 (LTS).
Bug fixes:
String replace bug with
regex
and$n
special patterns. (NODE-3788)
Release date: May 7, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Important
Contrast will discontinue support for Node.js 16 (LTS) in October 2025. Customers should upgrade to the latest Node.js LTS version, which is currently version 22.17.0 (LTS).
New and improved:
Support Assess sampling
event_detail config
option. (NODE-3752)Update workspaces to use empty immutable objects from
@contrast/common
. (NODE-3754)Update rewriter to lessen the size of generated code artifacts. (NODE-3767)
Refactor nested propagators out of url
propagatorsBug
. (NODE-3770)
Bug fixes:
Masked attack vectors should be masked in HTTP request details. (NODE-3774)
Assess Fastify preValidation handler does not call done callback if source context
missingTask
. (NODE-3787)
Release date: April 17, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Added support for the Fastify 5 framework. (NODE-3622)
Release date: April 14, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Refactored
string.prototype.replace
to lock instrumentation when it calls through toregexp.exec
. (NODE-3766)Assess in production environments now changes the
assess.stacktraces
configuration toSINK
. (NODE-3768)
Release date: April 4, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Implemented the option to instrument all modes for ADR. (NODE-3736)
Completed implementation of HTTP spans. (NODE-3744)
Refactored the
String.prototype.split
propagator so that it doesn't force propagation in order to calculate tag ranges. (NODE-3749)
Release date: April 1, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Updated
agent
andagentify
to ensure the agent is using Inversion of Control (IoC). (NODE-3757)
Bug fixes:
The agent now handles undefined args in
util.format
. (NODE-3759)
Release date: March 13, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Configure agent operator to provide a writable cache directory. (NODE-3728)
Added certificate configuration options. (NODE-3738)
Refactor event factory methods with performance improvements. (NODE-3753)
Bug fixes:
Fix unnecessary propagation that can occur in
String.prototype.concat
. (NODE-3746)Do not check for propagation context in
send
andfastify-send
propagators. (NODE-3747)
Release date: March 4, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Programmatic deadzones for winston logging module. (NODE-3437)
Programmatic deadzones for pino logging module. (NODE-3438)
Make Protect response-blocker a class. (NODE-3604)
Protect path-traversal should not report for static file-serving libs. (NODE-3717)
Remediate perf bug - do not flag GUIDs as suspicious (bumped
agent-lib
to version 9.1.0). (NODE-3739)
Bug fixes:
Assess source instrumentation for hapi can break onRequest hooks. (NODE-3745)
Release date: February 21, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Research latency performance issue experienced by a customer, fix or create tickets to fix causes. Our test case improved by 50%. (NODE-3731)
Bug fixes:
get-source-context
not checking the propagation count correctly. (NODE-3734)
Release date: February 19, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Bug fixes:
Some telemetry still enabled when opted out. (NODE-3732)
New
@swc/core
check does not properly handle nested dependencies. (NODE-3733)
Release date: February 6, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Bug fixes:
Check for empty strings when determining configuration defaults. (NODE-3725)
Release date: January 31, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Provide a clear error message when the install environment is different from the execution environment. (NODE-3381)
Allow rewrite hooks when either
rewrite.enable
orrewrite.cache.enable
are true. (NODE-3720)New
agent-lib@9.0.0
fixes a Protect CMD injection false positive. (NODE-3721)
Release date: January 24, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
Note
This release now provides GraphQL support for Apollo, Yoga, and graph-ql HTTP libraries.
New and improved:
Instrument
graphql-http
as a source. (NODE-3394)GraphQL Detailed Route Reporting and Coverage. (NODE-3409)
Update licenses to 2025. (NODE-3714)
Release date: January 17, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
CLI rewriter should skip
rewrite-deadzoned
package files. (NODE-3434)Improve logging to
stderr
when installation fails with TS error. (NODE-3677)Augment Perf feature to watch event processing. (NODE-3684)
Bug fixes:
dep-hooks
return value not used when target lib is imported. (NODE-3561)Clear traces endpoint's
hashSet
periodically so vulns can properly update last seen. (NODE-3709)
Release date: January 9, 2025
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
NEW: Build ID / Artifact Hash generation and reporting to Contrast. (NODE-3314)
NEW: Support for Express 5 Framework has been added. (NODE-3623)
NEW: Preview Release of the Contrast Node agent's GraphQL support.
Investigate automating and reporting sessions and build ID generation. (NODE-3315)
Research and implement the new
node --run
command incompatible withcmd_ignore_list
. (NODE-3540)Refactor route coverage to support Express 5. (NODE-3650)
Add remainder of architecture component integration tests. (NODE-3666)
Instrument GraphQL for route coverage. (NODE-3671)
Replace pino transport with multi-stream. (NODE-3678)
Bug fixes:
Fixed memory issue in reporter. (NODE-3705)
Archive
Node.js release notes 2024
Release date: December 12, 2024
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Handle TeamServer 4xx error codes according to spec. (NODE-3638)
Protect should use
async-hook-domain
exclusively. (NODE-3674)Research deadzoning mssql query serialization (NODE-3579)
Bug fixes:
Fix
release-operator
integration. (NODE-3681)
Release date: November 22, 2024
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
ADR Licensing - Reporting. (NODE-3605)
Implement remaining architecture components for FlowMap. (NODE-2793)
Publish hostname and container detection - server inventory. (NODE-3639)
Patching: audit package version ranges to not break on new versions. (NODE-3642)
Update Protect sources to instrument
router
. (NODE-3648)Update Protect error handler to instrument
router
. (NODE-3649)Remove argument from
protect.getSourceContext()
calls. (NODE-3660)Raise the log level to WARN for API tokens overridden by legacy keys. (NODE-3661)
Fix the log-file overwriting problem. (NODE-3667)
Bug fixes:
Report headers for Protect events as object not array. (NODE-3662)
Syslog metadata string is malformed. (NODE-3668)
Release date: November 6, 2024
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Preview functionality for Express 5 for Assess mode. (NODE-3644,NODE-3645,NODE-3646)
Bug fixes:
Do not report unsampled requests as missing source context for Assess in production. (NODE-3659)
Release date: October 30, 2024
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Research Assess sampling as function of routes observed. (NODE-3597)
Improved support for mongodb 6 driver aggregate functions. (NODE-3614)
Release date: October 22, 2024
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Programmatic deadzones for the bunyan logging module. (NODE-3427)
Research/Implement - Replace use of
npm ls
in library reporting. (NODE-3599)Replace npm for library reporting - Distroless support. (NODE-3619)
Programmatic deadzones for log4js logging module. (NODE-3636)
Add max version for Express instrumentation. (NODE-3641)
Release date: October 17, 2024
Language versions currently supported: 16, 18, 20, and 22 LTS
Note
Node.js 5.18.0 is deprecated. Node.js 5.18.1 contains all the features released in Node.js 5.18.0.
New and improved:
Add perf to all entrypoints. (NODE-3602)
Release date: October 16, 2024
Language versions currently supported: 16, 18, 20, and 22 LTS
Note
Node.js 5.18.0 is deprecated. Node.js 5.18.1 contains all the features released in Node.js 5.18.0.
New and improved:
The agent now uses the new v1.0 Agent Startup endpoint. (NODE-3390)
Added trace-level logging to route coverage. (NODE-3566)
Updated safe hash libraries to include
cookie-signature
. (NODE-3558)
Bug fixes:
Fixed an issue where the rewriter throws an error when a
.swcrc
file specifiesjsc.target
. (NODE-3640)
Release date: September 27, 2024
Language versions currently supported: 16, 18, 20, and 22 LTS
New and improved:
Added support for Node.js LTS 22.
Added Mongoose query parameter sanitization and validation. (NODE-3565)
Increased event count on
core.messages
. (NODE-3627)
Release date: September 26, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Updated the Audit agent
readme
file on npm to make sure it's accurate. (NODE-3548)
Bug fixes:
Fixed audit and extraneous dependencies. (NODE-3601)
Release date: September 16, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
The Node.js agent now supports the use of
CONTRAST__API__TOKEN
instead ofCONTRAST__API__URL
,CONTRAST__API__API_KEY
,CONTRAST__API__SERVICE_KEY
, andCONTRAST__API__USER_NAME
for communication with Contrast. (NODE-3522)Note
Contrast TeamServer is not yet adding the token to the downloadable agent configuration file.
Added a new Assess stacktraces configuration option for SINK. (NODE-3591)
Release date: August 27, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
This release includes a preview of Node 22 LTS support.
This feature is not yet officially supported
Added support for
crypto.createCipher
. (NODE-3533)Added
fs.glob
andfs.globSync
to FS_METHODS. (NODE-3541)
Bug fixes:
Refactored Fastify route coverage to avoid dep-hooks ESM bug. (NODE-3563)
Fixed
rewrite-is-deadzoned.js
. (NODE-3572)Updated the CSP rule. (NODE-3582)
Fixed an issue with semver v7.6 that broke range deadzoning. (NODE-3585)
Release date: August 20, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
Bug fixes:
Remediated CVE-2024-39338 by bumping the Axios package.
Release date: August 15, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Fixed a path-traversal false positive that
@fastify/static@7
reported. (NODE-3549)Remediated CVE-2024-39338 by bumping the Axios package. (NODE-3567)
Release date: August 1, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Implemented Phase 1 of support for Node.js v5 deadzones. (NODE-3360)
A deadzone is a mechanism that lets the agent skip instrumentation of a specific mode module or function.
Added logging for the inappropriate use of the
node -r
preload flag. (NODE-3481)
Bug fixes:
Fixed a duplication issue in preflight messages. (NODE-3476)
Fixed an issue where the agent did not report routes that were not exercised. (NODE-3548)
Fixed an issue with telemetry reporting. (NODE-3554)
Release date: July 30, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Updated the agent to use programmatic deadzones for bcrypt modules. (NODE-3424)
Release date: July 18, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
This release introduces a new process for releasing the Contrast agent to npm. The new process releases the artifact to npm with the
<next>
tag. Using the<next>
tag prevents you from automatically installing the next agent version unless you explicitly use this command:npm install @contrast/agent@next
Shortly after Contrast publishes the agent release notes for the next agent version, the tag for the version changes to
<latest>
. This new process lets you preview and test new features as well let you review the release notes for what will soon be tagged as<latest>
.Improved the release process to push the agent with the
<next>
tag to npm (NODE-3507)
The agent now extracts and reports cloud resource identifiers to Contrast for AWS, Azure, and GCP (NODE-2932).
This functionality collects resource identifiers when running on cloud providers and reports the IDs to the log and the Contrast web interface.
The agent now sends cloud resource identifiers to Contrast. (NODE-3493)
The agent now retrieves GCP resource identifiers. (NODE-3503)
Bug fixes:
Fixed an
Express.response.push
error shown in the log. (NODE-3532)
Release date: July 15, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Improved the npm README documentation for
@contrast/distringuish
. (NODE-3517)The reported text for routes was changed to be more consistent and idiomatic. Affected frameworks include Koa, Hapi, Fastify and Restify.
This change may cause orphaned routes that you can delete manually or by using the route expiration feature. If you are using session metadata or session ID, this change has no impact. Customers using the Express framework are not affected by this release.
Refactored route coverage for Fastify. (NODE-3483)
Added route coverage support for Koa nested routers. (NODE-3484)
Refactored route coverage integration tests. (NODE-3443)
Audited and refactored route signatures. (NODE - 3444)
When an application is running on AWS or Azure Cloud, resource identifiers are now reported to the log.
The agent now retrieves the AWS Resource Identifier when you configure it to do so. (NODE-3491, NODE-3492)
Added the
X-Contrast-Reporting-Instance
to Contrast communication. (NODE-3502)Added a feature flag to disable resource identification. (NODE-3513)
The agent now auto-detects the cloud provider for resource identifier detection. (NODE-3518)
Bug fixes:
Library usage requests sent to Contrast are now batched to reduce HTTP pressure. The default batch size is 100. (NODE-3509)
Release date: July 8, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Fixed an issue where an error was thrown when the import binding name matched the rewrite injection name. (NODE-3486)
Release date: June 27, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Fixed an issue where a deadzone bson require hook threw an error with bson 1.1.6. (NODE-3479)
Release date: June 21, 2024
Language versions currently supported: 16, 18, and 20 LTS
Important
This release now provides official support for HTTP/2.
New and improved:
Implemented HTTP/2 instrumentation for Reflected-XSS in Assess mode.
Implemented HTTP/2 instrumentation for the
spdy
library for Response Scanning rules.Fixed
node-require-hook
on Windows.
Bug fixes:
HTTP2 response-scanning instrumentation causes uncaught exceptions. (NODE-3468)
Blocking requests caused metrics to report that the request exceeded the duration. (NODE-3475)
MJS files loaded from the rewrite cache can break relative path file reading. (NODE-3485)
Reduced event listeners from
pg
arch-component instrumentation. (NODE-3489)crypto-analysis
did not ignore case when checking algorithms. (NODE-3495)npm
detection fails with a space in path. (NODE-3497)
Release date: June 21, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
Bug fixes:
npm
detection fails with a space in path (NODE-3497)
Release date: June 17, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
Bug fixes:
Fixed a new CVE associated with
@grpc/grpc-js
, which is a library used by the agent to communicate with the Contrast Service. (NODE-3487)
Release date: June 12, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Implemented HTTP/2 instrumentation for Reflected-XSS in Protect mode.
Implemented support for Restify 8, 9, 10, and 11 (Assess and Protect).
Installed modules should throw errors when needed and not accumulate in
_errors[]
.Implemented validation logic in the module where the validation is required to correctly function.
Updated security logger escaping to match updated CEF guide specification.
Implemented Framework reporting during route discovery (also known as Compatibility check for route coverage).
Bug fixes:
Fixed
URLSearchParams.toString()
. (NODE-3332)Added source map chaining. (NODE-3442)
Release date: May 31, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Deprecated Node 14 for v5.
The existing
@contrast/common
functions have been replaced with more performant and self-documenting functions.
Release date: May 22, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Teamserver associates all vulnerabilities with a single non-existent endpoint. (NODE-3457)
Release date: May 22, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
API keys are not redacted when the reporter throws an error. (NODE-3458)
Release date: May 21, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
The use of
inspect
during event creation was causing problems. (NODE-3451)Check if
isSafeContentType
is in allreflected-xss
sinks. (NODE-3452)
Release date: May 21, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Fixed express route observation bug. (NODE-3453)
Release date: May 20, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Express route coverage will handle middleware defined in an array.
Release date: May 15, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Removed effective configuration enable flag so that agent always reports it to Teamserver.
Added warning when the agent detects users attempting to set config file location with
-c
command line flag. Agent configuration via CLI flags has been deprecated in v5 agents.Implemented Restify route discovery and observation.
Adding initial support for programmatic deadzones to allow the agent to turn off instrumentation within restricted functions.
Release date: May 7, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Incoming message header handling is not correct. (NODE-3396)
Express route coverage does not discover routes defined by
app.use()
androuter.use()
. (NODE-3402)TypeError: undefined is not a function at
StacktraceFactory.makeFrame
. (NODE-3420)
Release date: May 1, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
Add
timer.unref()
tocode-events setCodeEventListener()
for v4.
Release date: April 29, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Support for Input and URL exclusions when running version 5.x agent.
Provided Protect specific CLI Rewriter option.
Bug fixes:
Route coverage error when express route registered with array of paths. (NODE-3380)
v5 agent does not properly handle archived apps. (NODE-3384)
Fix Fastify route coverage prefix bug. (NODE-3403)
Unwriting anonymous classes fails. (NODE-3406)
Release date: April 17, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
The rewriter can now be executed as a CLI command to allow rewriting of source code at container image creation. This lowers startup memory consumption and can speed up app start-up.
Release date: April 16, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Implement rewriter cache for ESM loader hooks.
Add additional rewrite-deadzones.
Release date: April 16, 2024
Language versions currently supported: 14, 16, 18, and 20 LTS
Important
Contrast Protect is deprecated as of release 5.20.6.
New and improved:
Updated v4 and v5 pipelines for K8s agent-operator.
Deprecated
@contrast/protect-agent
.Added v4 section to README.
Bug fixes:
UI reporter v1 routes do not respect proxy configuration. (NODE-3338)
Update test bench Dockerfiles. (NODE-3350)
Release date: March 29, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Implemented improvements to
string.prototype.split()
tracking.
Release date: March 28, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
Resolves CVE-2024-24786 associated with the Contrast Service (updates to version 2.28.34).
Release date: March 26, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Fixes a bug with the rewriter cache and deprecates version 5.4.0. (NODE-3367)
Release date: March 25, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Initial support for application code rewrites caching for version 5.x agent.
Release date: March 20, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Added hapi 21 framework support for Assess and Protect.
Stopped reporting of the library manifest on application updates.
Componentized ESM hooks and have them follow normal compose/install patterns.
Updated agent README for modern Node versions.
Bug fixes:
Fixed "Cannot find module 'file:/...'" in Library Analysis. (NODE-3358)
Release date: March 6, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
JSON.parse
will throw exception if captured key/value indices are inaccurate. (NODE-3344)
Release date: March 5, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
URL parse propagator doesn't support
parseQueryString
flag. (NODE-3340)string.replace
not handling some special character replacements properly. (NODE-3341)Dot entrypoint syntax no longer works. (NODE-3343)
Release date: February 16, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Replaced
parent-package-json
in deps.
Bug fixes:
Some configuration fields not redacted in configuration logging. (NODE-3339)
Release date: February 13, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Updated logger's
cleanEnv
to account for--loader
in NODE_OPTIONS.
Bug fixes:
UI reporter v1 routes are not respecting proxy configuration. (NODE-3338)
Release date: February 8, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Reflected-XSS not reporting when
res.send
is called. (NODE-3334)
Release date: February 6, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Added
runner-tap
usability fixes.
Release date: February 2, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Setting the server or application name in a non-English language causes errors. (NODE-3333)
Release date: February 2, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Minimized new agent's ESM dual initialization costs.
Updated Axios client.
Bug fixes:
Fix to Juice Shop 16 not working with the new agent. (NODE-3323)
Release date: January 29, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Fixed a bug with the new agent’s ESM loader functionality. (NODE-3320)
Release date: January 23, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Removal of the Contrast Service (SpeedRacer).
Removal of command line options for configuring the agent. Only YAML and environment variables are supported to align with Python, Ruby, and Go agents.
Support for running Assess and Protect concurrently.
Ability to toggle the mode of Protect rules without a restart.
Toggling mode (Assess, Protect, Both) still requires an application/agent restart to take effect.
Library reporting with ECU/ELU when running Protect (library reporting in production).
Effective configuration reporting to ContrastUI.
devDependencies
not published to npm - reduced FP CVE findings.Structured logging using pino.
Ability to change the agent logging level from the ContrastUI without an application restart.
Log request latency (ns) at DEBUG level for every request.
Route observability/coverage with normalized URI for deduplication.
Faster rewrite at startup using SWC.
Supports SuperTest API Testing framework npm: supertest.
Supports Frisby API testing framework npm: frisby.
Support for
String.prototype.matchAll()
propagation.Observed routes are reported to ContrastUI on application startup without requiring exercising a route.
ESM applications supported. Support for loading/running the agent using:
node --loader @contrast/agent app.mjs
for Node.js 16LTSnode --import @contrast/agent app.mjs
for Node.js 18.9.0, 20.9.0 and later (LTS)node --require @contrast/agent app.js
for all versions not using ESM
The new
--import
directive is supported for all applications, both ESM and CJS, running on Node.js 18.9.0, 20.9.0 and later (LTS)node --import @contrast/agent app.js
See npm for more.
Release date: January 30, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
Updated Axios.
Tweaks for the build.
Release date: January 5, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
Improved logging when there are npm failures.
Updated copywrite text in files to reflect the new year.
Bug fixes:
Express route-coverage utils throws exceptions when route has a missing stack. (NODE-3301)
Node.js release notes 2023
Release date: December 20, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
Bug fixes:
Fix TS reporting of
xss-protection-header-disabled
rule in v4. (NODE-3174)
Release date: November 29, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
Bug fixes:
TypeError: Cannot read property
length
of undefined inString.prototype.split
. (NODE-3272)
Release date: November 28, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
All
fs
methods used byi18n
have updatedstackTrustedLibs
policy.
Release date: November 22, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
The
i18n
library should not reportpath-traversal
Assess vulnerabilities.The
i18n
library does not reportpath-traversal
whenopenSync
gets called.
Release date: November 20, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
QueryBuilder
subclasses have relevant methods patched assql-encoded
propagators.The
i18n
library does not reportpath-traversal
Assess vulnerabilities.
Release date: November 16, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
CVE-2023-45857 Axios XSRF-TOKEN value is disclosed to an unauthorised actor Upgrade to ~> 1.6.0.
Release date: October 27, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
Bump Speedracer to 2.28.33.
Release date: October 18, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
CVE-2023-45133 Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code.
Release date: September 13, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
Added support for Node.js 20.5.0 and later.
Release date: September 8, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Fixed issue when running Swagger with Fastify by providing code hardening. (NODE-3156)
Release date: August 10, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Fixed TypeError
ERR_INVALID_URL
that was causing requests to fail. (NODE-3131)
Release date: August 8, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Fixed
RedisClient
methods in order to preserve async context. (NODE-3106)
Release date: August 7, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
This release bundles a new Contrast Service artifact v2.28.32 which was compiled with the latest Go StdLib
Release date: July 13, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Bump Speedracer to 2.28.29 and released new v4 agent
Release date: July 12, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
CVE remediation:
CVE-2022-25883 Replace
find-cache-dir
library in@contrast/agent
v4 (NODE-3078)
Release date: July 11, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
CVE-2022-25883 -
semver
from cls-hooked dependencycls-hooked dependency does not get reported by npm audit for a vulnerable version of
semver
Release date: July 7, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
CVE-2022-25883 Bump
semver
from 7.3.8 to 7.5.3 (require-hook)
Bug fixes:
V4 Node agent should read YAML from /etc/contrast/node/ directory (NODE-3058)
Release date: June 26, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
CVE-2022-25883 Bump
semver
from 7.3.4 to 7.5.2
Release date: June 9, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Updated the Contrast Service bundled with the agent to use the latest Go Std library v 1.20.5.
Release date: June 6, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Tweaked some mock dependencies so they would not be flagged by npm audit.
Release date: May 30, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Updated CEF logger to use levels defined in common config spec (v4) (NODE-2972)
Fixed issue with the agent not recognizing the
CONTRAST_CONFIG_PATH
environment variable.
Release date: May 17, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Fixed issue with Node.js Assess
TypeError: result.startsWith is not a function
in Windows. (SUP-4799)
Release date: May 3, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Bundled the latest SpeedRacer 2.28.27 with the v4 agent.
Release date: April 25, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
CVE-2023-2251 node-agent: Bump YAML.
Release date: April 19, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
CVE-2023-24538 Bump SpeedRacer to v 2.28.26 for v4.
Bug fixes:
Fixed the RegExp for detecting XXE vulnerabilities in Protect mode. (NODE-2887)
Release date: April 14, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
CVE-2023-0842 (DevDependency) - xml2js is vulnerable to prototype pollution.
CVE-2019-10790 (DevDependency) - TaffyDB in jsdoc.
Bug fixes:
Fix bugs in csp-header-insecure rule for both v4 and v5. (NODE-2971)
Release date: April 14, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Fixed issue with Fastify XSS payload check. (NODE-2974)
Release date: April 5, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Implemented improved logging. The agent does not rewrite all files at start-up. (NODE-2944)
Release date: April 3, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Bump SpeedRacer to 2.28.25.
Release date: March 16, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
New config option for conditional running the agent when called through
NODE_OPTIONS
.
Release date: March 14, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Bump SpeedRacer for v4
Improved log message for node version compatibility
CVE-2023-22578 (DevDependency) - Sequelize - Default support for “raw attributes” when using parentheses
Enhancements to logging surrounding errors when starting the agent
Bug fixes:
Fixed Hapi implementation for
reflected-xss
detection. (NODE-2757)Fixed Fastify implementation for
reflected-xss
detection. (NODE-2756)Added hardening to
getAllParents
method. (NODE-2931)
Release date: February 27, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Improved support for
Experss.static()
. (SUP-4451)Improved support for XXS detection when using the Fastify framework.
Improved logging surrounding errors when starting the agent.
Release date: January 31, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Instrumented the
serve-static
module to act as a custom sanitizer.
Release date: January 20, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Config-diagnostics fails to create a configuration file if the logger path refers to a file descriptor.
Release date: January 17, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Included the docker container ID in the system-info.json when running system-diagnostics.
CVE-2022-46175 node-agent Prototype Pollution in JSON5 via Parse Method.
Bug fixes:
Prevent crashing when the req is undefined. (NODE-2867)
Release date: January 2, 2024
Language versions currently supported: Check the features table.
Important
This option is in beta. Beta status means the option might change or act unexpectedly. By using this option, you agree to the Contrast Beta Terms and Conditions.
New and improved:
Remediated axios CVE-2023-45857.
All components use a single event emitter.
Implemented
koa-multer
as an Assess dataflow source.Added more response-scanning rules.
The new
standardNormalizedUri
field is populated correctly when sending/traces
data to TS.Implemented Assess cryptographic rules.
Implemented propagation for
ejs.Template.prototype.generateSource
in v5.Telemetry is reported by the v5 agent and config settings to disable telemetry are respected.
Bug fixes:
TypeError: Cannot read properties of undefined (reading 'path'). (NODE-3292)
Fixed Protect
nosql-injection
reporting. (NODE-3216)
Release date: November 28, 2023
Language versions currently supported: Check the features table.
Important
This option is in beta. Beta status means the option might change or act unexpectedly. By using this option, you agree to the Contrast Beta Terms and Conditions.
New and improved:
Implemented propagation for
util.format
.Added support for the
untrusted-deserialization
rule.QueryBuilder
subclasses have relevant methods patched assql-encoded
propagators.
Release date: November 16, 2023
Language versions currently supported: Check the features table.
Important
This option is in beta. Beta status means the option might change or act unexpectedly. By using this option, you agree to the Contrast Beta Terms and Conditions.
New and improved:
Implemented propagation for:
path.toNamespacedPath
path.extname
path.parse
path.format
querystring.stringify
Implemented propagation for several escape methods.
Output request-response metrics to logs at DEBUG level.
Bug fixes:
The app/agent will crash an app using a distroless container. Cannot write logs. (NODE-3225)
UI reporter does not use effective configuration values in the application create body. (NODE-3243)
Release date: October 31, 2023
Language versions currently supported: Check the features table.
Important
This option is in beta. Beta status means the option might change or act unexpectedly. By using this option, you agree to the Contrast Beta Terms and Conditions.
New and improved:
Fixed TS reporting of
xxssprotecttion-header-disabled
rule in v5.
Bug fixes:
JSON.parse
propagator causes tracker error when called with null or empty string. (NODE 3230)
Release date: October 26, 2023
Language versions currently supported: Check the features table.
Important
This option is in beta. Beta status means the option might change or act unexpectedly. By using this option, you agree to the Contrast Beta Terms and Conditions.
New and improved:
Implemented propagation for
path.relative
.Implemented propagation for
path.dirname
.Added Assess
xxe
support.
Bug fixes:
Fix to issue where Koa apps were reporting route discovery twice. (NODE-3199)
Fix to issue where the application did not onboard if Assess or Protect was not enabled locally. (NODE-3221)
Fix to issue where Docker version of
juice-shop
fails to run - npm not found. (NODE-3223)
Release date: October 19, 2023
Language versions currently supported: Check the features table.
Important
This option is in beta. Beta status means the option might change or act unexpectedly. By using this option, you agree to the Contrast Beta Terms and Conditions.
New and improved:
Improved logging for Contrast communication troubleshooting.
Implemented a more friendly mechanism for capturing heap dump snapshots.
Implemented fixes for where the agent was incorrectly reporting
juice-shop
findings.
Release date: October 8, 2023
Language versions currently supported: Check the features table.
Important
This option is in beta. Beta status means the option might change or act unexpectedly. By using this option, you agree to the Contrast Beta Terms and Conditions.
New and improved:
v1-endpoint
will now respect the configuration option when buildingserverType
path parameter.Implemented instrumentation for Joi boolean and number coercing methods.
Implemented instrumentation for Joi
.allow()
,.valid()
, and.equal()
value methods.Implemented instrumentation for Joi
object
,expression
, andany
types.The context for the
eval
sink now reports aseval(...)
, and does not contain Contrast methods text.Every call to track is preceded by a check for successful event creation.
Bug fixes:
Fixed effective configuration only updating once. (NODE-3204)
Fixed an issue associated with a memory leak when running Assess. (NODE-3198)
Release date: October 8, 2023
Language versions currently supported: Check the features table.
Important
This option is in beta. Beta status means the option might change or act unexpectedly. By using this option, you agree to the Contrast Beta Terms and Conditions.
New and improved:
Updated all components to manage local policies through effective configuration.
Refactored the usage of all string manipulation and Array.prototype.join methods.
Bug fixes:
Agent does not report path traversals when files are served using
serve-static
in safe way. (NODE-3157)
Important
This option is in beta. Beta status means the option might change or act unexpectedly. By using this option, you agree to the Contrast Beta Terms and Conditions.
Release date: September 15, 2023
Language versions currently supported: Check the features table.
New and improved:
Added support for Node.js 20.5.0 and later.
Implemented session-configuration rules for
express-session
.Track keys and parse different object types passed to
URLSearchParams
.Improved
require-hook
logging.
Important
This option is in beta. Beta status means the option might change or act unexpectedly. By using this option, you agree to the Contrast Beta Terms and Conditions.
Release date: September 1, 2023
Language versions and technologies currently supported: Check the features table.
New and improved:
Removal of the Contrast Service (SpeedRacer).
Removal of command line options for configuring the agent. Only YAML and environment variables are supported to align with Python, Ruby, and Go agents.
Running Assess and Protect concurrently is supported.
Library reporting with ECU/ELU when running Protect (library reporting in Production).
Effective configuration reporting to Contrast.
devDependencies not published to
npm
- reduced FP CVE findings.Structured logging using
pino
.Route observability/coverage with normalized URI for deduplication.
Faster rewrite at startup using SWC.
Supports vulnerability detection when API Testing with SuperTest npm: supertest.
Support for
String.prototype.matchAll()
propagation (not supported in v4).
Release date: January 2, 2024
Language versions currently supported: 14, 16, 18, and 20 LTS
New and improved:
Remediated axios CVE-2023-45857.
All components use a single event emitter.
The security logger handles
path: /dev/null
to disable logging in all supported operating systems.Telemetry is reported by the v5 agent and config settings to disable telemetry are respected.
Bug fixes:
TypeError: Cannot read properties of undefined (reading 'path'). (NODE-3292)
Fixed Protect
nosql-injection
reporting. (NODE-3216)Fixed
vm
module instrumentation. (NODE-3004)
Release date: November 16, 2023
Language versions currently supported: 14, 16, 18, and 20 LTS
New and improved:
Output request-response metrics to logs at DEBUG level.
Bug fixes:
The app/agent will crash an app using a distroless container. Cannot write logs. (NODE-3225)
UI reporter does not use effective configuration values in application create body. (NODE-3243)
Release date: October 8, 2023
Language versions currently supported: 14, 16, 18, and 20 LTS
New and improved:
Added support for changing Protect policies and logging level from Contrast without requiring a restart.
Release date: September 15, 2023
Language versions currently supported: 14, 16, 18, and 20 LTS
New and improved:
Audit v5 logging of PII.
Release date: August 25, 2023
Language versions currently supported: 14,16, and 18 LTS
New and improved:
Synchronization of Assess and Protect implementations when they differ.
Added HTTP logging to Contrast communications.
Bug fixes:
Updated the rewriter to inject
ContrastMethods.Function
and support existing Protect input-tracing patches. (NODE-3100)Agent v5 issues with the
effective-config
end-point. (NODE-3151)
Release date: August 7, 2023
Language versions currently supported: 14,16, and 18 LTS
New and improved:
Implemented propagation for JSON.parse.
Implemented Session Configuration rules for Assess.
Added support for the new major version (v 1.x.x.) of the
libxmljs
library. The library is instrumented to detect XXE vulnerabilities.
Bug fixes:
Fixed
libxmljs
that was not properly instrumented. (NODE-3121)
Release date: August 4, 2023
Language versions currently supported: 14,16, and 18 LTS
New and improved:
Fixed rewriter to avoid adding spurious trailing characters.
Improved
swc
rewriter to be able to rewrite files withshebang
comments.
Release date: July 14, 2023
Language versions currently supported: 14,16, and 18 LTS
New and improved:
Added support for detecting
sleep(x)
type of SSJS attacks in MongoDB context.Added
session_id
to the effective configuration options.
Release date: May 2, 2023
Language versions currently supported:14,16, and 18 LTS
New and improved:
Added support for the MS SQL database driver for v5 Protect-only agent.
Release date: April 3, 2023
Language versions currently supported:14,16, and 18 LTS
New and improved:
Added support for detecting
nosql-injection
attacks for MarsDB in Protect mode.
Release date: February 20, 2023
Language versions currently supported:14,16, and 18 LTS
Bug fixes:
Fixed a bug when receiving the
nosql-injection
rule settings from Contrast and the agent not respecting that setting.
Release date: February 9, 2023
Language versions currently supported:14,16, and 18 LTS
New and improved:
security_logger
receives the correct default values.
Release date: February 9, 2023
Language versions currently supported:14,16, and 18 LTS
New and improved:
NoSQL Injection Mongo - added support for
$accumulator
operator.The RegExp now detects a vulnerable string with single and double quotes around the URI of the targeted file.
Bumped agent-lib version in Node agent v5 to v5.3.0.
Release date: January 31, 2023
Language versions currently supported:14,16, and 18 LTS
New and improved:
NoSQL Injection Mongo - added support for
$function
operator.Migrated shared hooks to instrumentation layer: http, https, http2, spdy.
Reduced code duplication in existing Protect hooks.
CVE-2022-46175 node-require-hook Prototype Pollution in JSON5 via Parse Method.
Bug fixes:
NODE_OPTIONS
envrionment forpino
worker-thread does not get cleared of--require @contrast/...
. (NODE-2882)
Release date: January 17, 2023
Language versions currently supported:14,16, and 18 LTS
New and improved:
Provided npx command to config-diagnostics and output results.
Bug fixes:
Fixed issue where
@contrast/protect-agent
does not install. (NODE-2803)
Release date: January 10, 2023
Language versions currently supported:14,16, and 18 LTS
New and improved:
CVE-2022-46175 Prototype Pollution in JSON5 via Parse Method.
Internal Protect data structure changes.
Release date: December 8, 2022
Language versions currently supported:14,16, and 18 LTS
New and improved:
Performance improvement for capturing stack traces. (NODE 2760)
Release date: December 5, 2022
Language versions currently supported:14,16, and 18 LTS
New and improved:
Contrast Security Node.js Protect-only Agent. See npm: @contrast/protect-agent
Node.js release notes 2022
Release date: December 21, 2022
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Fix issues with system-diagnostics reporting under Windows env. (NODE-2780)
Config utility reads the wrong remote value for syslog settings. (NODE-2781)
Release date: December 19, 2022
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
CVE-2022-24999 - qs vulnerable to Prototype Pollution.
Added support for the Microsoft SQL Server database.
Release date: December 9, 2022
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
New Contrast Service version - v2.28.23 is now bundled with the v4 agent.
Bug fixes:
Defensive code in system diagnostics when finding package.json. (SUP-4357)
Added defensive code around checking the express router handler's length. (SUP-4314)
System info gets output when running config-diagnostics - this was incorrect behavior.
CVE patch:
CVE-2022-24999 (devDependency). version 4.x agent
Release date: December 2, 2022
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Provide npx command to read system info and output results. (NODE-2629)
Release date: November 25, 2022
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Made
_contrast_toString
a non-enumerable property ofFunction.prototype
to resolve compatibility issues with@sap/cds
. (NODE-2752)
Release date: November 21, 2022
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
Removed Fastify2 from NodeTestBenches.
Bug fixes:
Fixed contrast-diagnostics script that did not support running when not adjacent to the agent installation location. (NODE-2748)
Release date: November 9, 2022
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
New troubleshooting functionality to write to a file the effective configuration seen by the agent. (NODE-2632)
Release date: October 27, 2022
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Memory-leak surfaced for apps running with the agent for over 12 hours. (NODE-2715)
CVE remediation:
CVE-2022-3517 upgrade dependencies with minimatch so use v3.0.5 or greater. (NODE-2717)
Release date: October 19, 2022
Language versions currently supported: 12, 14,16, and 18 LTS
Bug fixes:
Memory leak introduced in 4.25.0. (NODE-2698)
Release date: October 13, 2022
Language versions currently supported: 12, 14 ,16, and 18 LTS
Bug fixes:
"TypeError: undefined is not a function" when spawning a child process with Assess. (NODE-2694)
Release date: October 11, 2022
Language versions currently supported: 12, 14 ,16, and 18 LTS
Bug fixes:
Memory leak being caused by Assess CallContext stacktraces. (NODE-2681)
npm
not found and library not reported when the Node.js runtime is installed in the Program Files directory on Windows OS. (NODE-2691)
Release date: October 7, 2022
Language versions currently supported: 12, 14 ,16, and 18 LTS
Bug fixes:
NPM commands used in the agent for library reporting/listing will now work on Windows machines. (NODE-2676)
Release date: September 30, 2022
Language versions currently supported: 12, 14 ,16, and 18 LTS
Bug fixes:
Fixed an issue where the agent was not starting the Contrast Service when running on Windows OS. (NODE-2677)
Release date: September 27, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Updated v4 and v5 agents to be compatible with Node 18.
The
originalUrl
property is now tagged in Express.
Bug fixes:
Corrected issue where
req.path
was not tracked and not considered untrusted data. (NODE-2637)
Release date: September 7, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
CVE-no-CVE-ID - Bump moment-timezone from 0.5.34 to 0.5.37.
Bug fixes:
Node agent only instruments MongoDB API methods that are susceptible to expansion or injections. (NODE-2040)
Release date: August 31, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fix:
For agent v16.17 and above, we now explicitly signal a short circuit in our load hook for ESM support (NODE-2620).
Release date: August 26, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Added instrumentation for the
DynamoDB.scan()
command and theFilterExpression
key AWS v2.Added support for MongoDB NoSQL Injection highlighting in Contrast UI when multiple arguments are present.
Release date: August 17, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Improved express instrumentation by having the body-parser library and all its parsing methods directly patched/instrumented.
Added support for the
mongodb
v4.x driver for the agent in Protect mode.
Bug fixes:
The
JSON.stringify()
propagator handles when the argument (or subset of argument) is a deserialization membrane. (NODE-2598)Autocomplete missing rule data is serialized properly into protobuf message. (NODE-2589)
Release date: August 8, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
CVE-2022-2564 - Bump Mongoose version to 6.4.6.
Bug fix:
The JSON.stringify() propagator handles when the argument (or subset of argument) is a deserialization membrane. (NODE-2598)
Release date: August 1, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fix:
Aws-sdk version 2 for DynamoDB does not respect abstract attribute types. (NODE-2532)
Release date: July 25, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes:
When processing large strings in docker and using node crypto module to encrypt data, the calls
distringuish.getProperties
were causing segmentation fault issues. (NODE-2564)
Release date: July 18, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Added support for
isEmail
andisDate
validators in ValidatorJS.
Bug fixes:
Joi validation not recognized if the schema specified in "options" for a hapi route. (NODE-2544)
Release date: July 12, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Remediated CVE-2022-31129 for inefficient regular expression complexity in moment.
Add hardening to prevent app crash if NPM is not installed.
Release date: July 4, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
When a MongoDB update method has multiple attack vectors, the Node.js Agent accurately reports NoSQL Injections that were previously false negatives.
Release date: June 28, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Remediated CVE-2020-7596 by removing the
codecov
dependency from node-agent (DEV Dependency).
Release date: June 25, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Added improved logging when an unsupported version of npm is installed in the app being instrumented.
Bug fixes:
Decrease highlighting to just tainted string when reported sink argument is a query object. (SUP-3889)
Release date: June 13, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Added improved logging when an unsupported version of npm is installed in the app being instrumented.
Bug fixes:
When Protect mode is enabled, multipart/form-data throws exception when headers are removed. (SUP-3817)
Release date: June 3, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Remediated CVE-2021-43138 by updating
ejs
to a safe version in node-agent, this was a DEV Dependency and was not a true vulnerability. (NODE - 2352)
Release date: June 1, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Removed
winston-syslog
from the agent's bundled dependencies, this was being flagged as having a CVE.
Bug fixes:
Fixed false-negative of Server-Side Request Forgery (SSRF) for request npm package. (SUP-3829)
Release date: May 27, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes:
Incorrect highlighting displayed for Node.js vulnerabilities under Overview in the Contrast web interface. (SUP-3717, 2927)
Release date: May 19, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes:
When running an application with pm2 on cluster mode and the
CONTRAST_CONFIG_PATH
provided as an environment variable, the agent reads theCONTRAST_CONFIG_PATH
value fromcontrast_security.yaml
instead of the environment variable.
Release date: May 17, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Implemented support for the
ref()
function when Joi validation is unknown because of untracked targetThe hooks for
mongodb-core
are “replicated” to hookmongodb
from version 3.3.0 and later
Release date: May 12, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Added support for PM2 running in both fork and cluster modes.
New config option
assess.enable_lazy_tracking
for Contrast Node.js 4.X. The default istrue
and must be set tofalse
to use Fastify http/2.
Release date: April 29, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes:
Rewriter not wrapping file contents in "module wrap" IIFE. (SUP-3732)
The
lib/util/trace-util
getRequest
always returns undefined if sampling is disabled. (NODE-2351)
Release date: April 21, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Custom fastify-static allowedPath path-traversal validator.
Remediated CVE-2021-43138 (Prototype Pollution in async Winston bump).
Bug fixes:
__import
methods can cause an error when the imported module is not yet resolved. (NODE-2341)ESM loader hooks still operate when agent is disabled. (NODE-2340)
Release date: April 14, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Remediated CVE-2021-43138 (update async dev dependency to a safe version in node-agent).
Release date: April 11, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Remediated CVE-2022-24785 (update moment dependency to a safe version in node-agent, remediating path traversal vulnerability).
Release date: April 8, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Added support for DyanmoDB PartiQL (Assess only).
Bug fixes:
Fixed deadlinks in NPM agent readme. (Node-2297)
Release date: March 31, 2022
Language versions currently supported: 12, 14 and 16 LTS
Release date: March 29, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Contrast Service updated to 2.28.19. This resolves CVE-2021-38561.
Remediated CVE-2021-44906 (for minimalist npm library).
Added support for
validator.matches()
as a custom validator.Upgraded to agent-lib 2.2.4.
Release date: March 23, 2022
Language versions currently supported: 12, 14 and 16 LTS
Important
As part of a recent bug fix a setting name has changed. If you are using agent.trust_custom_validator
, please update to assess.trust_custom_validator
.
New and improved:
Added support for MySQL2 library 2.0.0 and later.
Bug fixes:
False negative occurs when SQL query template contains untrusted data. (SUP-3568)
Release date: March 29, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022. You can upgrade to the latest version 4.x of the Node.js agent available from npm.
New and improved:
Remediated CVE-2021-44906 (for minimalist npm library).
Release date: March 25, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022.
New and improved:
Contrast Service updated to 2.28.17.
Remediated CVE-2021-44906 (for minimalist npm library).
Release date: March 17, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes:
Path traversal false negative. (SUP-3558)
Agent tries to rewrite ESM files twice. (NODE-2217)
Release date: March 14, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Remediated CVE-2022-0536 (follow-redirects to a safe version in node-agent)
Remediated CVE-2022-0686 (url-parse to a safe version in node-agent)
Added warning message to CLI-rewriter logging (or stdout)
Added support for hardcoded-key and hardcoded-password vulnerabilities when using CLI-rewriter feature.
Support for ESM syntax (import statements) for Node.js 14 and 16 LTS
New Protect native input analysis processing with:
YAML:
agent.node.native_input_analysis: true
Environment variable:
CONTRAST__AGENT__NODE__NATIVE_INPUT_ANALYSIS=TRUE
Release date: March 14, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes:
Agent is ocassionally throwing error:
TypeError: Cannot read property 'getAllParents' of null
. (SUP-3611)
Release date: March 10, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes:
Rewrite cache path is built incorrectly when mode isn't explicitly set in config. (NODE-2180)
Proxy authentication information showing in logs. (SPEED-1056)
Release date: February 25, 2022
Language versions currently supported: 12, 14 and 16 LTS
Release date: February 22, 2022
Language versions currently supported: 12, 14 and 16 LTS
Release date: February 17, 2022
Language versions currently supported: 12, 14 and 16 LTS
Important
You can no longer download the Node.js agent from Contrast. You should use these instructions to download and install the agent from npm.
Bug fixes:
ReThinkDB results in SQLi false negative due to failed instrumentation during propagation. (NODE-2150)
Release date: February 15, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes:
False negative causing Server Side Request Forgery. (NODE-2130)
Release date: February 15, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes:
When parsing the body on the Sails framework, the agent occasionally hangs indefinitely on post requests. (NODE-2125)
Release date: February 7, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Upgraded Contrast service 2.28.12 is bundled with this agent version.
Added support for custom Assess data validation using Mongoose or Joi.
Added support for MongoDB key object expansion Protect rule.
Bug fixes:
During CLI transpilation, the Node agent no longer logs data if there is no network connectivity or connection to Contrast. (NODE-2083)
Release date: February 1, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes:
When working with large JSON objects, users experience significant Assess performance regressions introduced in Node.js agent 4.9.1. (NODE-2086)
Release date: January 31, 2022
Language versions currently supported: 12, 14 and 16 LTS
New and improved:
Contrast Service version 2.28.9 is now bundled with the Node.js agent.
Bug fixes:
When the local YAML configuration and environment variables are set, the Contrast service does not prioritize configuration values as indicated in the order of precedence. (NODE-2084)
Release date: January 28, 2022
Language versions currently supported: 12, 14 and 16 LTS
Bug fixes
When rewrite caching is enabled, the stack trace no longer repeats and writes the correct filename. (NODE-2065)
Release date: January 19, 2022
Language versions currently supported: 12, 14 and 16 LTS
New features and improvements:
Contrast Node.js agent version 4.9.0 was non-installable due to a build dependency that requires
package-lock.json
file. Version 4.9.1 is patched not to require that dependency.
Note
This version has been deprecated, please use 4.9.1 or later.
Release date: January 19, 2022
Language versions currently supported: 12, 14 and 16 LTS
Release date: January 6, 2022
Language versions currently supported: 12, 14 and 16 LTS
Release date: June 28, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
This is the last release of 3.x.x
of the Node.js agent - the version 3 branch has reached end-of-life status.
New and improved:
Remediated CVE-2020-7596 by removing codecov dependency from the node-agent (DEV Dependency).
Release date: May 18, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022.
Release date: April 21, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022. You can upgrade to the latest version 4.x of the Node.js agent available from npm.
New and improved:
Remediated CVE-2021-43138 (Prototype Pollution in async Winston bump).
Release date: April 14, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022. You can upgrade to the latest version 4.x of the Node.js agent available from npm.
New and improved:
Remediated CVE-2021-43138 (update async dev dependency to a safe version in node-agent).
Release date: April 12, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022. You can upgrade to the latest version 4.x of the Node.js agent available from npm.
New and improved:
Remediated CVE-2022-24785 (update moment dependency to a safe version in node-agent, remediating path traversal vulnerability).
Release date: March 29, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022. You can upgrade to the latest version 4.x of the Node.js agent available from npm.
New and improved:
Remediated CVE-2021-44906 (for minimalist npm library).
Release date: March 25, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022.
New and improved:
Contrast Service updated to 2.28.17.
Remediated CVE-2021-44906 (for minimalist npm library).
Release date: February 25, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022.
Release date: February 7, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022.
New and improved:
Upgraded Contrast service 2.28.12 is bundled with this agent version.
Release date: January 31, 2022
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022.
New features and improvements:
Contrast service version 2.28.9 is now packaged with the Node.js agent.
Bug fixes:
When the local YAML configuration and environment variables are set, the Node.js agent does not prioritize configuration values as indicated in the order of precedence. (NODE-2084)
Release date: January 19, 2021
Language versions currently supported: 10, 12 and 14 LTS
Important
The Contrast Node.js agent version 3.X will EOL in June 2022.
New features and improvements:
Contrast service version 2.28.4 packaged with the Node.js agent
Node.js release notes 2021
Release date: December 23, 2021
Language versions currently supported: 12, 14 and 16 LTS
Release date: December 3, 2021
Language versions currently supported: 12, 14
Important
As of Node 3.11.15, the agent will be bundled with Contrast Service version 2.28.0
New and improved:
Added Joi support for
ref()
where reference target is an object.
Release date: December 3, 2021
Language versions currently supported: 12, 14 and 16 LTS
Important
As of Node 4.7.0, the agent will be bundled with Contrast Service version 2.28.0
New and improved:
The stacktrace limit default was set to 10 (previously it was set to 25).
Added Joi support for
ref()
where reference target is an object.Added support for Dust.js template engine.
Bug fixes:
Implicit tagging of numeric input causes false negatives. (Node-2005)
Refactored logic around sanitizers that causes wrong tags.
Release date: November 18, 2021
Language versions currently supported: 12, 14, 16 LTS
Bug fixes:
When an application has been rewritten with Babel and the
@babel/runtime
helpers have been injected, the application fails to start. (Node-1956)
Release date: November 10, 2021
Language versions currently supported: 12, 14, 16 LTS
New and improved:
Added AWS-SDK version 3 DynamoDB to the flow map.
Improved tracking of vulnerabilities through
path
functions.
Release date: November 2, 2021
Language versions currently supported: 12, 14, 16 LTS
Important
As of Node 4.5.1, the agent will be bundled with Contrast Service version 2.27.3
Bug fixes:
Bluebird is causing vulnerabilities to be attributed to the incorrect route. (NODE-1892)
Release date: October 21, 2021
Language versions currently supported: 12, 14, 16 LTS
New and improved:
Support for Mustache template engine version 4.x. (version 3 and version 4 of agent)
Specify module supported versions explicitly as a WARN in logs.
Bug fixes:
Fixes to the
path.normalize
Assess functionality. (NODE-1830)
Release date: October 13, 2021
Language versions currently supported: 12, 14, 16 LTS
New and improved:
Node 16 LTS support.
New configuration flag for “turbo” protect performance.
Bug fixes:
When there are NoSQL vuln on
GET
requests from two routes, the vulnerability is not reported. (NODE-1900)"Propagator micro-optimizations" causes performance issue. (NODE-1913)
Release date: September 29, 2021
Language versions currently supported: 12 and 14 LTS
New and improved:
CVE-2021-3795 upgrade
semver-regex
to latest (v3.1.3) innode-require-hook
CVE-2021-3795 upgrade
semver-regex
to latest (v3.1.3) innode-fn-inspect
CVE-2021-3807 bump
ansi-regex
dependency innode-agent
repo (from 2.1.1 to 6.0.1)CVE-2020-26301 bump
ssh2
to latest version (v1.4.0) in thenode-agent
repo (v3 and v4)
Bug fixes:
XXE Assess causes false negatives with the DVNA application. (NODE-1810)
Release date: September 23, 2021
Language versions currently supported: 12 and 14 LTS
Known issue:
There may be some message loss between the agent and the Contrast service if you are NOT using the optional gRPC protocol. This version will be deprecated once a fix is provided in the 4.2.1 release.
New and improved:
Significant Assess performance improvements for use cases where there is a large JSON body in the inbound request.
Improved reporting/UX to Contrast where there is a vulnerability identified in large JSON body in the inbound request.
The MongoDB 4.X driver is now supported along with versions 3.5.0 and later.
CVE-2021-3749 - node-agent - bump 'axios' from 0.21.1 to 0.21.2
CVE-2021-37713 bump tar dependency in 'distringuish' repo from 4.4.15 to 4.4.19
CVE-2021-37713 bump tar dependency in 'node-fn-inspect' repo from 4.4.15 to 4.4.19
Release date: August 28, 2021
Language versions currently supported: 12 and 14 LTS
Note
As of Node.js 4.1.0, we no longer support Contrast Node.js agent versions 2.X.
New and improved:
CVE-2021-3664 - node-agent - Bump url-parse from 1.5.1 to 1.5.3.
CVE-2021-23343 - node-agent - Bump path-parse from 1.0.6 to 1.0.7.
SNYK-JS-TAR-1536758 - node-agent - Bump tar from 6.1.4 to 6.1.10.
CVE-2021-32803 - contrast-protobuf-api - Bump tar from 4.4.13 to 4.4.15 (or 4.4.19).
Bug fixes:
Node.js agent failing silently in Protect mode if unsupported Node.js LTS version. (NODE-1757)
When reporting libraries "_requiredBy" or "dependents" field not populated. (NODE-1718)
Sequelize propagators do not add Propagation events to dataflow history, causing possible NoSQL injection false positives. (NODE-1746)
Release date: July 28, 2021
Language versions currently supported: 12 and 14 LTS
Release date: July 8, 2021
Language versions currently supported: 12 and 14 LTS
New and improved:
Significant performance refactoring completed for both Protect and Assess functionality.
CLI rewriter for startup performance improvements.
Set Babel as sole rewriter - removed Esprima.
Updating Contrast Service is mandatory.
Added support for
agent.logger.backups
andagent.logger.roll_size
properties.
Bug fixes:
Agent unable to detect installed libraries on Windows. (NODE-1622)
Bluebird callbacks run in
NO_INSTRUMENTATION
scope causing accuracy issues. (NODE 1643)Koa:
Router.use
reported asRouter.undefined
. (NODE-1628)Logger not logging all entries to debug file. (NODE-1654)
HTTP body missing for multipart/form-data POST requests. (NODE-1620)
Agent fails to start with infinite loop when unable to write contrast-service socket file. (NODE-1657)
Screener tests fail because of non-existent rewrite-babel file. (NODE-1682)
Tag ranges off when Array.join is called with empty string. (NODE-1673)
Trim prerelease from reported agent version. (NODE-1693)
Release date: November 18, 2021
Language versions currently supported: 12, 14 LTS
New and improved:
Resolved CVEs against these dev dependencies: CVE-2021-3765, CVE-2021-3807.
Release date: November 3, 2021
Language versions currently supported: 12, 14 LTS
Important
As of Node.js 3.11.13, the agent will be bundled with Contrast Service version 2.27.3.
Bug fixes:
Bluebird causes vulnerabilities to be attributed to the incorrect route. (Node-1892)
Release date: October 13, 2021
Language versions currently supported: 12 and 14 LTS
Bug fixes:
When there are NoSQL vuln on
GET
requests from two routes, the vulnerability is not reported. (NODE-1900)
Release date: October 7, 2021
Language versions currently supported: 12 and 14 LTS
Bug fixes:
Agent maintenance version 3.x does not ship with prebuilt dependencies for Node 10. (NODE-1905)
Release date: September 29, 2021
Language versions currently supported: 12 and 14 LTS
New and improved:
CVE-2021-3795 upgrade
semver-regex
to latest (v3.1.3) innode-require-hook
CVE-2021-3795 upgrade
semver-regex
to latest (v3.1.3) innode-fn-inspect
CVE-2021-3807 bump
ansi-regex
dependency innode-agent
repo (from 2.1.1 to 6.0.1)CVE-2020-26301 bump
ssh2
to latest version (v1.4.0) in thenode-agent
repo (v3 and v4)
Release date: August 26, 2021
Language versions currently supported: 12 and 14 LTS
New and improved:
CVE-2021-3664 - node-agent - Bump url-parse from 1.5.1 to 1.5.3.
CVE-2021-23343 - node-agent - Bump path-parse from 1.0.6 to 1.0.7.
SNYK-JS-TAR-1536758 - node-agent - Bump tar from 6.1.4 to 6.1.10.
CVE-2021-32803 - contrast-protobuf-api - Bump tar from 4.4.13 to 4.4.15 (or 4.4.19).
Bug fixes:
Node.js agent failing silently in Protect mode if unsupported Node.js LTS version. (NODE-1757)
Sequelize propagators do not add Propagation events to dataflow history, causing possible NoSQL injection false positives. (NODE-1746)
When reporting libraries, "_requiredBy" or "dependents" fields not populated. (NODE-1718)
Release date: August 13, 2021
Language versions currently supported: 12 and 14 LTS
Bug fixes:
Resolves a breaking change regression and reenables the agent to run on Node.js 10 LTS, even though that Node.js LTS version has reached its end-of-life (EOL). (NODE-1748)
The agent can successfully instrument any application using Bluebird. (NODE-1742)
Resolved an issue where the agent was not correctly tracking data through several Sequelize functions. (NODE-1746)
Release date: July 29, 2021
Language versions currently supported: 12 and 14 LTS
Release date: July 8, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
Agent fails to start with infinite loop when unable to write contrast-service socket file. (NODE-1657)
Improved the agent's deadzoning ability to correctly skip instrumentation of dependent modules of deadzoned modules. (NODE-1449)
Note
This version has been deprecated, please use 3.11.6 or later.
Release date: July 6, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
Addressed bug that prevented logging some entries into debug file. (NODE-1654)
HTTP body missing for multipart/form-data POST requests. (NODE-1620)
Note
This version has been deprecated, please use 3.11.6 or later.
Release date: June 25, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
Router.use
reported asRouter.undefined
in Koa. (NODE-1628)
Note
This version has been deprecated, please use 3.11.6 or later.
Release date: June 25, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
Agent unable to detect installed libraries on Windows. (NODE-1622)
Bluebird callbacks run in
NO_INSTRUMENTATION
scope causing accuracy issues. (NODE-1643)
Note
This version has been deprecated, please use 3.11.6 or later.
Release date: June 11, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
Logger methods called before initialization. (NODE-1625)
Mongodb collection methods not triggering post hooks. (NODE-1603)
Note
This version has been deprecated, please use 3.11.6 or later.
Release date: June 08, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
When user is using express-session middleware,
res.end
does not report cross-site scripting (XSS). (SUP-2796)AsyncStorage
loses context in mysql query operations. (SUP-2861)Fixed an issue where the customer app crashes but does not throw an exception to the Docker container and write to stdout/stderr. (NODE-1511)
Release date: May 27, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
When user is using express-session middleware,
res.end
does not report cross-site scripting (XSS). (SUP-2796)AsyncStorage
loses context in mysql query operations. (SUP-2861)
Release date: May 21, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
To resolve a ReDoS CVE (CVE-2021-23362) we need to update the
hosted-git-info
library included as a dependency.
Release date: May 17, 2021
Language versions currently supported: 10, 12 and 14 LTS
Release date: April 28, 2021
Language versions currently supported: 10, 12 and 14 LTS
New and improved:
Runtime performance improvements by improving JSON stringify tracking capabilities.
Added support for the Joi validator library, version 17+.
Release date: April 19, 2021
Language versions currently supported: 10, 12 and 14 LTS
Release date: April 13, 2021
Language versions currently supported: 10, 12 and 14 LTS
New and improved:
Runtime performance improvement by disabling membrane wrapping for certain functions.
Release date: April 2, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
RangeError thrown on startup when traversing a router mounted on itself in Express. (SUP-2723)
Release date: March 31, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
False positive Hardcoded Key finding reported. (SUP-2636)
If the Service is enabled, the
application.path
isn’t reported correctly. (SUP-2669)
Release date: March 26, 2021
Language versions currently supported: 10, 12 and 14 LTS
New and improved:
Added support for the Validator library, which can be used to sanitize and validate common vulnerability categories.
Improved logging when an incorrect
package.json
is used.
Bug fixes:
Prevent a catch when an async storage object can’t be parsed. (SUP-2685)
Fixed how the agent contextualizes async data when koa-bodyparser is used (SUP-2627)
Fixed cases where Express vulnerabilities aren’t reported to the UI correctly (SUP-2509, SUP-1558)
Release date: March 18, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
When using a MongoDB SCRAM-SHA-256 authentication configuration, an exception is thrown at server startup. (SUP-2653)
Release date: March 15, 2021
Language versions currently supported: 10, 12 and 14 LTS
Release date: March 9, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
Upgraded lodash from 4.17.20 to 4.17.21 due to two known CVEs found in version 4.17.20 (CVE-2020-28500, CVE-2021-23337).
Upgraded amqplib from 0.6.0 to 0.7.1 due to a known CVE found in version 0.6.0 (CVE-2021-27515).
Release date: March 8, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
When a querystring is included in a MongoDB connection string, the agent can’t parse the URL. (SUP-2594)
Release date: March 1, 2021
Language versions currently supported: 10, 12 and 14 LTS
New features and improvements:
Kraken 2.3.0 is now supported.
Bug fixes:
Loading the agent with an ESM loader produces an error. (SUP-2504)
DynamoDB hook for flowmap crashes up without 'endpoint' in config (SUP-2475)
Release date: February 26, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
Library usage causes errors on Windows when application loads add-on. (SUP-2536, NODE-1328)
Juice-Shop does not run when Assess in enabled on Windows. (SUP-2521, NODE-1317)
Release date: February 11, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
DynamoDB hook for flowmap crashes agent when
'endpoint'
is not specified in configuration. (SUP-2475, NODE-1286)Users running
esm.mjs
receive an error because it is not being packaged. (SUP-2478, NODE-1288)
Release date: January 29, 2021
Language versions currently supported: 10, 12 and 14 LTS
New and improved:
Loopback 4 is now supported.
Fastify 3 is now supported.
Bug fixes:
False negative path traversal finding in Express. (SUP-2412)
Agent not detecting remote code execution (RCE) with certain input values. (SUP-2433)
Highlighted text in the UI is off by one character. (SUP-2384)
Release date: January 28, 2021
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
The application may throw an error if the cache-controls header is an array. (SUP-2416)
Agent incorrectly exiting on SIGPIPE when the Contrast Service is used. (SUP-2421)
Node.js release notes 2020
Release date: December 7, 2020
Language versions currently supported: 10, 12 and 14 LTS
Bug fixes:
Certain types of XML uploads result in an XXE false negative. (SUP-2287)
Release date: December 18, 2020
Language versions currently supported: 10, 12 and 14 LTS
New features and improvements:
Input exclusions for Assess are supported. You can exclude findings based on input type or name.
Optimized performance when
sourcemaps
is enabled.Flowmaps now have better accuracy in reporting architectural components.
Release date: November 20, 2020
Language versions currently supported: 10, 12 and 14 LTS
New features and improvements:
Node.js 14 is now supported.
Improved accuracy of line number reporting for vulnerabilities with source mapping.
Bug fixes:
Agent fails to instrument in Node 14 running on Windows. (SUP-2230)
Release date: October 28, 2020
Language versions currently supported: 10 and 12 LTS
Release date: October 23, 2020
Language versions currently supported: 10 LTS and 12 LTS
New features and improvements:
Added support for sequelize sql-string format methods.
Bug fixes:
Found false negative with Node.js loopback in Protect mode. (SUP-2009)
Release date: September 25, 2020
Language versions currently supported: 10 LTS and 12 LTS
Bug fixes:
Need to add support for
fs.createWriteStream
as a Protect sink. (SUP-2013)
Release date: September 18, 2020
Language versions currently supported: 10 LTS and 12 LTS
New features and improvements:
Restify 8 framework support is now available.
Bug fixes:
An Insecure Encryption Algorithm finding reports an incorrect code location. (SUP-1852)
FastifyFramework did not emit all headers in 'send' event.
Release date: September 10, 2020
Language versions currently supported: 10 LTS and 12 LTS
New features and improvements:
The 3.X version of the agent sets the default behavior to communicate and report to Contrast using the Contrast service.
The new
rewrite_cache
property will cache the app code rewritten by Contrast on startup and can improve subsequent startup time. This property is disabled by default but can be enabled.
Important notes:
With the 3.X version of the Node.js agent, the Contrast service is enabled by default but can still be disabled. Because of this, you will need to download the new 3.X agent binary through npm (recommended) or through Contrast.. Please contact Support if you have any questions about this change.
Bug fixes:
Tracking strings which include the + operator create a performance issue. (SUP-1975)
Language versions currently supported:10 LTS and 12 LTS
New features and improvements:
This release sets default behavior of the Node.js agent to communicate and report to Contrast directly, without using the Contrast Service. This undoes a breaking change that was introduced in the 2.x.x branch back in February of 2020.
New performance diagnostic features are now available for Contrast Customer Success to help diagnose performance issues.
Added the capability to track untrusted data through the
node.js url.domainToASCII
andurl.domainToUnicode
functions.The
agent.node.unsafe.deadzones
option will now trim whitespace around each option.
Important notes:
This version marks the last new release for the 2.x.x branch. Only patch releases will be provided going forward for the 2.18.x branch.
Customers will be required to upgrade to version 3.x.x (available September 2020) to gain additional capabilities in the Node.js agent. Version 3.0.0 of the Contrast Node.js agent will have potentially impactful changes which should be assessed by each customer for their specific application.
Bug fixes:
The
server.path config
option is not being passed to Contrast when using the Contrast service for communication. (SUP-1838)Node agent Lodash dependency updated to 4.17.20 to resolve CVE-2020-8203. (SUP-1883)
Resolve TypeError:
replacer.replace
is not a function. (SUP-1888)
Language versions currently supported:10 LTS and 12 LTS
Bug fixes:
Agent breaks expected express-async-errors behavior. (SUP-1801)
Language versions currently supported:10 LTS and 12 LTS
Language versions currently supported: 10 and 12 LTS
Agent versions released during the past month: 2.16.1, 2.16.2, 2.16.3, 2.16.4, 2.16.5, 2.16.6, 2.16.7, 2.16.8, 2.17.0
New and improved:
Added multiple architecture changes and fixes that improve Assess performance.
Added support for URL Exclusions when using Assess. In Contrast, you can designate URLs that ignore selected rules or all rules. The agent now respects these settings for Assess rules in the Node.js agent.
Protect rule modes now default to OFF for best backward and forward compatibility.
Improved Fastify support to work better with GraphQL and Apollo Server.
Removed support for Protect Cross-site Request Forgery (CSRF).
Updated the version of Lodash used by the Node.js agent to 4.17.19 in response to a CVE for Lodash 4.17.15.
Important notes:
Version 3.0.0 of the Node.js agent will be released at the end of August and will introduce these changes:
The Node.js agent will be required to run with the Contrast service enabled. Currently, the service is shipped with the agent, but is optional; this change will enable the service by default.
The service will provide multiple functional and performance benefits to the Node.js agent.
The legacy auto-update policy for the Node.js agent will be deprecated when running with the service enabled.
Note
You will need to upgrade to Version 3.0.0, because the legacy auto-update feature does not upgrade to a major version. You can update your agent to 3.x with npm (recommended), the Contrast API or by using the Contrast web interface. Using npm allows version updates by using the customer’s application’s package.json with semantic versioning.
All new features will only be available for 3.0.0 and higher. Version 2.18.0 will also be released at the end of August and will be the final version that doesn't require the Contrast service. This version will continue to be supported for patch releases.
There are two optional features that may be useful to some customers. Contact your Customer Success Representative if you would like to know more about these:
Re-write caching provides faster subsequent start-up times.
Performance may improve when you skip (or deadzone) certain modules. For example, if you have modules passing large strings that are irrelevant to security, like logging, you can choose not to instrument them.
Bug fixes:
Node.js agent failed to initialize. Missing gRPC framework was resolved.
An exception occurred because of a syntax error for Fastify. This was fixed.
Crash when requiring the aws-s3 module was resolved.
Language versions currently supported:10 LTS and 12 LTS
Agent versions released during the past month: 2.15.1 2.15.2, 2.15.3, 2.15.4, 2.15.5, 2.16.0, 2.16.1, 2.16.2, 2.16.3, 2.16.4
New and improved:
Multiple architecture and performance improvements.
New gRPC communication protocol between the agent service improves performance.
Removed name and value cookie sources for reflected XXS per updated guidance for both Assess and Protect.
Added a sensor for SQLite for Protect.
Added support for Koa version 2.12.
Reflected XSS is now not reported if Content-Type is allowlisted as safe.
Important notes:
A major version release for the Node.js agent is planned for late July or August 2020. Node.js agent version 3.0.0 will introduce breaking changes for customers using the 2.x.x version of the agent and service.
Bug fixes:
Implemented multiple bug fixes due to the introduction of the gRPC communication protocol between the JavaScript agent and the agent service
Implemented fixes to resolve route coverage issues that surface when using graphQL, Apollo Server, and Fastify
Resolved a false positive issue when correctly using Sequelize to escape strings.
Resolved exception when fastify.route is called with an uppercase verb.
Resolved an issue that manifested as reporting duplicate routes when using the Express framework.
Language versions currently supported:10 LTS and 12 LTS
Agent versions released during the past month: 2.15.0
Important notes:
New recommendations for installing and running the Node.js agent have been released.
Bug fixes:
The customer application would fail to start when all Assess rules were disabled. This is fixed now.
The customer application would fail to start because worker threads would hang and generate multiple processes with the same pid. This is fixed now.
The agent would not output the security log to stdout (or stderr). This is fixed now.
Duplicated vulnerabilities were being reported for unique routes. This is fixed so that TeamServer displays distinct findings for each request uri.
An out-of-memory error caused by a regex match resulted in an infinite loop. This has been fixed.
Node.js agent’s migration to npm and incorrectly bundled modules made it seem like the agent was missing two dependencies. This has been resolved.
Language versions currently supported:
Agent versions released during the past month: 2.8.1, 2.8.2, 2.8.3, 2.9.0
New features and improvements:
Fastify framework support: Fastify 2.x is now a supported framework for the Contrast Node.js agent
NPM availability: The Contrast Node.js agent can now be installed directly from the Contrast Security public NPM repository
Pre-load capabilities: The Node.js agent can now be run as a pre-load module using the -r flag. This is also now the recommended method of running the Contrast Node.js agent.
Important notes:
Running the node agent as a runner will now generate a deprecation message. This is the deprecated syntax:
node-contrast<app-main>
The agent will continue to function when executed as a runner. However, we encourage customers to migrate to the new method of running the Contrast Node.js agent as this is no longer recommended.
Bug fixes:
After architecture improvements were made to the agent, some applications were prevented from starting with the agent. This has been resolved and users should no longer receive error messages like these:
cls.run(() => { ^ TypeError: Cannot read property 'run' of undefined OR /usr/src/app/node_modules/node_contrast/lib.asar/AsyncStorage/index.js:188 if (ns.active) { TypeError: Cannot read property 'active' of undefined