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.
Advisories
Source ID Title
EUVD EUVD EUVD-2025-29013 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.
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Wed, 21 Jan 2026 00:00:00 +0900

Type Values Removed Values Added
First Time appeared Haxx
Haxx curl
Weaknesses NVD-CWE-noinfo
CPEs cpe:2.3:a:haxx:curl:*:*:*:*:*:*:*:*
Vendors & Products Haxx
Haxx curl

Wed, 19 Nov 2025 05:30:00 +0900

Type Values Removed Values Added
References

Wed, 05 Nov 2025 07:30:00 +0900


Mon, 15 Sep 2025 19:45:00 +0900

Type Values Removed Values Added
First Time appeared Curl
Curl curl
Vendors & Products Curl
Curl curl

Sat, 13 Sep 2025 09:15:00 +0900

Type Values Removed Values Added
Weaknesses CWE-340
References
Metrics threat_severity

None

threat_severity

Low


Sat, 13 Sep 2025 03:15:00 +0900

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 12 Sep 2025 14:30:00 +0900

Type Values Removed Values Added
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.
Title predictable WebSocket mask
References

Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: curl

Published:

Updated: 2025-11-18T20:05:32.822Z

Reserved: 2025-09-09T03:45:41.908Z

Link: CVE-2025-10148

cve-icon Vulnrichment

Updated: 2025-11-18T20:05:32.822Z

cve-icon NVD

Status : Analyzed

Published: 2025-09-12T06:15:40.020

Modified: 2026-01-20T14:55:47.997

Link: CVE-2025-10148

cve-icon Redhat

Severity : Low

Publid Date: 2025-09-12T05:10:37Z

Links: CVE-2025-10148 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2025-09-15T19:43:57Z

Weaknesses