Due to improper type validation in the socket.io-parser library (which is used by the socket.io and socket.io-client packages to encode and decode Socket.IO packets), it is possible to overwrite the _placeholder object which allows an attacker to place references to functions at arbitrary places in the resulting query object.
Example:
const decoder = new Decoder();
decoder.on(\"decoded\", (packet) => {
console.log(packet.data); // prints [ 'hello', [Function: splice] ]
})
decoder.add('51-[\"hello\",{\"_placeholder\":true,\"num\":\"splice\"}]');
decoder.add(Buffer.from(\"world\"));
This bubbles up in the socket.io package:
io.on(\"connection\", (socket) => {
socket.on(\"hello\", (val) => {
// here, \"val\" could be a reference instead of what the user expected
});
});
At first sight, the potential impact seems rather limited, but please upgrade to a safe version as soon as possible.
This PR contains the following updates:
3.3.2
->3.3.3
GitHub Vulnerability Alerts
CVE-2022-2421
Due to improper type validation in the
socket.io-parser
library (which is used by thesocket.io
andsocket.io-client
packages to encode and decode Socket.IO packets), it is possible to overwrite the _placeholder object which allows an attacker to place references to functions at arbitrary places in the resulting query object.Example:
This bubbles up in the
socket.io
package:At first sight, the potential impact seems rather limited, but please upgrade to a safe version as soon as possible.
This should be fixed by:
socket.io-parser@4.2.1
socket.io-parser@4.0.5
Dependency analysis for the
socket.io
packagesocket.io
versionsocket.io-parser
version4.5.2...latest
~4.2.0
(ref)4.1.3...4.5.1
~4.0.4
(ref)3.0.5...4.1.2
~4.0.3
(ref)3.0.0...3.0.4
~4.0.1
(ref)Dependency analysis for the
socket.io-client
packagesocket.io-client
versionsocket.io-parser
version4.5.0...latest
~4.2.0
(ref)4.3.0...4.4.1
~4.1.1
(ref)3.1.0...4.2.0
~4.0.4
(ref)3.0.5
~4.0.3
(ref)3.0.0...3.0.4
~4.0.1
(ref)Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» 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 has been generated by Mend Renovate. View repository job log here.