You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Credit for the private and responsible disclosure of this issue goes to Nikita Skovoroda.
Remarks
Although the calculated CVSS severity is medium, the actual severity is believed to be low, as the flaw is only exploitable through misuse that is unlikely in practice.
Fixed an uninitialized memory disclosure issue in websocket.close()
(c0327ec).
Providing a TypedArray (e.g. Float32Array) as the reason argument for websocket.close(), rather than the supported string or Buffer types, caused
uninitialized memory to be disclosed to the remote peer.
import{deepStrictEqual}from'node:assert';import{WebSocket,WebSocketServer}from'ws';constwss=newWebSocketServer({port: 0,skipUTF8Validation: true},function(){const{ port }=wss.address();constws=newWebSocket(`ws://localhost:${port}`,{skipUTF8Validation: true});ws.on('close',function(code,reason){deepStrictEqual(reason,Buffer.alloc(80));});});wss.on('connection',function(ws){ws.close(1000,newFloat32Array(20));});
Fixed a spec violation where the Sec-WebSocket-Version header was not added
to the HTTP response if the client requested version was either invalid or
unacceptable (#2291).
Fixed an issue that, during message decompression when the maximum size was
exceeded, led to the emission of an inaccurate error and closure of the
connection with an improper close code (#2285).
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/@noble/hashes@1.8.0. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
Warn
Obfuscated code: npm @noble/hashes is 90.0% likely obfuscated
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/@noble/hashes@1.8.0. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
Warn
License policy violation: npm antlr4ts under BSD-3-Clause-HP
License: BSD-3-Clause-HP - The applicable license policy does not permit this license (5) (package/LICENSE)
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/antlr4ts@0.5.0-alpha.4. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
8.18.0→8.20.1ws: Uninitialized memory disclosure
CVE-2026-45736 / GHSA-58qx-3vcg-4xpx
More information
Details
Impact
The
websocket.close()implementation is vulnerable to uninitialized memory disclosure when aTypedArrayis passed as the reason argument.Proof of concept
Patches
The vulnerability was fixed in ws@8.20.1 (websockets/ws@c0327ec).
Credits
Credit for the private and responsible disclosure of this issue goes to Nikita Skovoroda.
Remarks
Although the calculated CVSS severity is medium, the actual severity is believed to be low, as the flaw is only exploitable through misuse that is unlikely in practice.
Resources
Severity
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
websockets/ws (ws)
v8.20.1Compare Source
Bug fixes
websocket.close()(
c0327ec).Providing a
TypedArray(e.g.Float32Array) as thereasonargument forwebsocket.close(), rather than the supported string orBuffertypes, causeduninitialized memory to be disclosed to the remote peer.
The issue was privately reported by Nikita Skovoroda.
v8.20.0Compare Source
Features
PerMessageDeflateclass and utilities for theSec-WebSocket-ExtensionsandSec-WebSocket-Protocolheaders (d3503c1).v8.19.0Compare Source
Features
closeTimeoutoption (#2308).Bug fixes
1998485).v8.18.3Compare Source
Bug fixes
Sec-WebSocket-Versionheader was not addedto the HTTP response if the client requested version was either invalid or
unacceptable (#2291).
v8.18.2Compare Source
Bug fixes
exceeded, led to the emission of an inaccurate error and closure of the
connection with an improper close code (#2285).
v8.18.1Compare Source
Bug fixes
make them work when run via CITGM (
021f7b8).Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.
This change is