agentggagentgg
Back to all findings
MEDIUMuncertainvulnerable-dependencyoutdated-dependencye2cce807952f

Outdated major: `socket.io-client@^3.1.0`

`socket.io-client@^3.x` is two majors behind current (v4) and has had advisories in the v3 line; pin should be upgraded and re-audited.

Filefrontend/package.json
Lines6060
Confidence
45%
File statusvalidated
Details
"socket.io-client": "^3.1.0",

The Socket.IO 3.x client line is superseded by 4.x. Historical advisories in the v3 ecosystem (e.g., socket.io-parser resource-exhaustion / prototype-pollution issues fixed in later 4.x parser releases) reach this client transitively. Because this is a runtime dependency that handles untrusted server frames, pin alignment with the maintained v4 line is the safer baseline. I am not asserting a specific CVE here — recommend running npm audit against the resolved lockfile.

Proof of concept
  1. npm ls socket.io-parser to see the transitive parser version.
  2. npm audit --omit=dev and inspect any socket.io-* advisories.
  3. Upgrade to socket.io-client@^4 (API mostly compatible) and re-test.
Impact

Real-time clients (which run in every browser session) could be exposed to known advisories carried by the v3 parser chain; client-side DoS or prototype pollution depending on the specific transitive pin.

Validation
uncertain

The finding flags "socket.io-client": "^3.1.0" as a major-version-behind dependency and the detector explicitly admits "I am not asserting a specific CVE here" and recommends running npm audit to confirm. While socket.io-client v3 is indeed superseded by v4 and its transitive socket.io-parser chain has had advisories (e.g., CVE-2023-32695, CVE-2024-38355), the finding does not establish which resolved parser version is actually pinned in the lockfile, nor a concrete exploit path against this frontend. This is essentially a speculative "upgrade hygiene" recommendation rather than a demonstrated vulnerability, so it can't be confirmed without the lockfile evidence the detector itself asks for.

CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:L
Base score: 4.2 · MEDIUM

The finding cites "socket.io-client": "^3.1.0" as a runtime browser dependency whose transitive socket.io-parser has had resource-exhaustion / prototype-pollution advisories. Worst plausible exploitation requires a malicious or compromised Socket.IO server (or MitM) to send crafted frames to a victim's browser session that loaded the app — hence AV:N, UI:R (victim must visit/use the app), and AC:H since the attacker must control the server side of the websocket or chain another flaw to inject frames. The report itself notes no specific CVE is asserted ("I am not asserting a specific CVE here"), so impacts are bounded to client-side DoS (A:L) and limited prototype-pollution-style integrity tampering (I:L) within the same browser origin (Scope:U), with no clear path to confidentiality disclosure from the parser bugs described.

References