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-disabledrule 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
lengthof 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
fsmethods used byi18nhave updatedstackTrustedLibspolicy.
Release date: November 22, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
The
i18nlibrary should not reportpath-traversalAssess vulnerabilities.The
i18nlibrary does not reportpath-traversalwhenopenSyncgets called.
Release date: November 20, 2023
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
QueryBuildersubclasses have relevant methods patched assql-encodedpropagators.The
i18nlibrary does not reportpath-traversalAssess 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_URLthat 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
RedisClientmethods 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-dirlibrary in@contrast/agentv4 (NODE-3078)
Release date: July 11, 2023
Language versions currently supported: 12, 14,16, and 18 LTS
New and improved:
CVE-2022-25883 -
semverfrom 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
semverfrom 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
semverfrom 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_PATHenvironment 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 functionin 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-xssdetection. (NODE-2757)Fixed Fastify implementation for
reflected-xssdetection. (NODE-2756)Added hardening to
getAllParentsmethod. (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-staticmodule 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-multeras an Assess dataflow source.Added more response-scanning rules.
The new
standardNormalizedUrifield is populated correctly when sending/tracesdata to TS.Implemented Assess cryptographic rules.
Implemented propagation for
ejs.Template.prototype.generateSourcein 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-injectionreporting. (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-deserializationrule.QueryBuildersubclasses have relevant methods patched assql-encodedpropagators.
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.toNamespacedPathpath.extnamepath.parsepath.formatquerystring.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-disabledrule in v5.
Bug fixes:
JSON.parsepropagator 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
xxesupport.
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-shopfails 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-shopfindings.
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-endpointwill now respect the configuration option when buildingserverTypepath 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, andanytypes.The context for the
evalsink 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-staticin 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-hooklogging.
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/nullto 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-injectionreporting. (NODE-3216)Fixed
vmmodule 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.Functionand support existing Protect input-tracing patches. (NODE-3100)Agent v5 issues with the
effective-configend-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
libxmljslibrary. The library is instrumented to detect XXE vulnerabilities.
Bug fixes:
Fixed
libxmljsthat 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
swcrewriter to be able to rewrite files withshebangcomments.
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_idto 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-injectionattacks 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-injectionrule 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_loggerreceives 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
$accumulatoroperator.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
$functionoperator.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_OPTIONSenvrionment forpinoworker-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-agentdoes 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