Home

Description

curl's websocket code did not update the 32 bit mask pattern for each new outgoing frame as the specification says. Instead it used a fixed mask that persisted and was used throughout the entire connection. A predictable mask pattern allows for a malicious server to induce traffic between the two communicating parties that could be interpreted by an involved proxy (configured or transparent) as genuine, real, HTTP traffic with content and thereby poison its cache. That cached poisoned content could then be served to all users of that proxy.

PUBLISHED Reserved 2025-09-09 | Published 2025-09-12 | Updated 2025-09-12 | Assigner curl

Problem types

CWE-340 Generation of Predictable Numbers or Identifiers

Product status

Default status
unaffected

8.15.0 (semver)
affected

8.14.1 (semver)
affected

8.14.0 (semver)
affected

8.13.0 (semver)
affected

8.12.1 (semver)
affected

8.12.0 (semver)
affected

8.11.1 (semver)
affected

8.11.0 (semver)
affected

Credits

Calvin Ruocco (Vector Informatik GmbH) finder

Daniel Stenberg remediation developer

References

curl.se/docs/CVE-2025-10148.json (json)

curl.se/docs/CVE-2025-10148.html (www)

hackerone.com/reports/3330839 (issue)

cve.org (CVE-2025-10148)

nvd.nist.gov (CVE-2025-10148)

Download JSON