CVE-2025-4035
Medium · 4.3CVSS
4.3
EPSS
0.4%
Published
Apr 29, 2025
CISA due date
—
Cloudanix analysis
A bug in cookie handling could let a malicious site set login cookies for domains it should not control, risking unauthorized access to user accounts.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Library
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw permits libsoup clients to accept cookies for public suffix domains when the domain has two or more components and contains an uppercase letter, bypassing public suffix list checks and enabling unauthorized cookie setting that can cause integrity violations such as session fixation.
Why it matters to the business
Attackers may hijack or fixate user sessions in affected Mattermost deployments, leading to unauthorized access, data integrity problems, and potential disruption of collaborative workflows; the issue affects a widely used open-source platform with many downstream installations.
How an attack unfolds
An attacker registers or controls a domain containing an uppercase letter and at least two components that matches a public suffix pattern, then serves content that sets cookies scoped to a target public suffix; the vulnerable client accepts the cookies, allowing the attacker to inject session tokens for domains it does not legitimately own.
How to fix it
Upgrade affected Mattermost components to one of the fixed versions: github.com/mattermost/mattermost/server/v8 to 10.1.4, 10.0.4, 9.11.6 or 10.2.1; mattermost/mattermost to commit ff3c76437efdef1fdf44f92434ac588e4d4e964c; mattermost/mattermost-server to commit 51ac054df0cf662ef3fa4657df4e058a33687135. Verify the update resolves the libsoup cookie-handling logic.
How to confirm the fix worked
Confirm the installed package versions match the listed fixed releases, review changelog entries for the cookie public-suffix fix, and test that uppercase domains no longer bypass suffix protections by attempting cookie-setting requests against public suffixes.
Typical attack path
- Identify a public suffix domain and craft a subdomain containing an uppercase character
- Host malicious content that issues Set-Cookie headers targeting the public suffix
- Lure a victim user or automated client to visit the malicious content
- Victim client accepts and stores the attacker-controlled cookies
- Attacker uses the injected cookies to perform session fixation or impersonation on the target domain
How to detect it
Review application and web-server logs for unexpected cookie Set-Cookie headers originating from external domains, inspect session tokens for anomalies that suggest fixation, and correlate with client requests containing mixed-case public suffix domains.
What your security team should do
- Apply the listed fixed versions to all Mattermost server instances without delay
- Audit cookie-handling behavior in any custom clients or integrations that depend on libsoup
- Monitor vendor advisories for related updates in the broader ecosystem
The record
A flaw was found in libsoup. When handling cookies, libsoup clients mistakenly allow cookies to be set for public suffix domains if the domain contains at least two components and includes an uppercase character. This bypasses public suffix protections and could allow a malicious website to set cookies for domains it does not own, potentially leading to integrity issues such as session fixation.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:10 | libsoup3 | 0 | 3.6.5-3.el10_0.6 |
| AlmaLinux:10 | libsoup3-devel | 0 | 3.6.5-3.el10_0.6 |
| AlmaLinux:10 | libsoup3-doc | 0 | 3.6.5-3.el10_0.6 |
| Debian:11 | libsoup2.4 | 0 | No fix |
| Debian:12 | libsoup2.4 | 0 | No fix |
| Debian:12 | libsoup3 | 0 | No fix |
| Debian:13 | libsoup2.4 | 0 | No fix |
| Debian:13 | libsoup3 | 0 | No fix |
Related vulnerabilities
- CVE-2025-4945 A flaw was found in the cookie parsing logic of the libsoup HTTP library, used in GNOME… Also affects libsoup3
- CVE-2025-4948 A flaw was found in the soup_multipart_new_from_message() function of the libsoup HTTP… Also affects libsoup3
- CVE-2025-46421 A flaw was found in libsoup. Also affects libsoup3
- CVE-2025-32912 A flaw was found in libsoup, where SoupAuthDigest is vulnerable to a NULL pointer… Also affects libsoup3
- CVE-2025-32914 A flaw was found in libsoup, where the soup_multipart_new_from_message() function is… Also affects libsoup3
- CVE-2025-32906 A flaw was found in libsoup, where the soup_headers_parse_request() function may be… Also affects libsoup3
- CVE-2025-32907 A flaw was found in libsoup. Also affects libsoup3
- CVE-2025-32049 A flaw was found in libsoup. Also affects libsoup3