CVE-2025-4945
Low · 3.7CVSS
3.7
EPSS
0.7%
Published
May 19, 2025
CISA due date
—
Cloudanix analysis
A bug in how certain Linux software reads cookie expiration dates could let some cookies last longer than expected, which might affect session or tracking behavior in affected applications.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Data Tampering
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Integer overflow during expiration date arithmetic in libsoup cookie parsing routines allows crafted large integer values to trigger undefined behavior and bypass intended expiration validation.
Why it matters to the business
Applications relying on libsoup may retain cookies beyond their intended lifetime, potentially enabling unintended persistent state or tracking in GNOME-based and other Linux environments; the issue affects common Ubuntu server and cloud images with moderate urgency given the low EPSS and absence from KEV.
How an attack unfolds
An attacker supplies an HTTP response containing a cookie header with an oversized expiration value; when libsoup parses the date field the integer overflow occurs during arithmetic, resulting in the cookie being treated as non-expiring or exhibiting other unintended persistence.
How to fix it
Upgrade affected packages to the listed fixed versions: linux (Ubuntu 24.04 LTS) to 6.8.0-50.51, linux-aws (Ubuntu 24.04 LTS) to 6.8.0-1020.22, linux-azure (Ubuntu 24.04 LTS) to 6.8.0-1020.23; apply the corresponding kernel updates that include the corrected libsoup dependency handling.
How to confirm the fix worked
Verify installed package versions match or exceed the fixed releases above; recompile or run regression tests against cookie expiration parsing with boundary and oversized integer inputs; confirm no undefined behavior occurs in date arithmetic.
Typical attack path
- Craft HTTP response or Set-Cookie header containing specially chosen large integer for expiration date
- Deliver response to target application using libsoup for HTTP handling
- Trigger cookie parsing path during normal request processing
- Exploit integer overflow to alter expiration logic outcome
- Observe or leverage resulting persistent cookie behavior
How to detect it
Inspect application and web server logs for unusual cookie header lengths or malformed date fields; correlate with processes using libsoup libraries; look for post-parsing artifacts indicating cookies persisting past expected TTLs in application state.
What your security team should do
- Prioritize patching Ubuntu 24.04 LTS systems running GNOME or libsoup-dependent services within standard maintenance windows
- Monitor upstream libsoup releases for any additional backports
- Review cookie handling code paths in custom applications for similar integer validation gaps
The record
A flaw was found in the cookie parsing logic of the libsoup HTTP library, used in GNOME applications and other software. The vulnerability arises when processing the expiration date of cookies, where a specially crafted value can trigger an integer overflow. This may result in undefined behavior, allowing an attacker to bypass cookie expiration logic, causing persistent or unintended cookie behavior. The issue stems from improper validation of large integer inputs during date arithmetic operations within the cookie parsing routines.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:10 | libsoup3 | 0 | 3.6.5-3.el10_1.6 |
| AlmaLinux:10 | libsoup3-devel | 0 | 3.6.5-3.el10_1.6 |
| AlmaLinux:10 | libsoup3-doc | 0 | 3.6.5-3.el10_1.6 |
| AlmaLinux:8 | libsoup | 0 | 2.62.3-10.el8_10 |
| AlmaLinux:8 | libsoup-devel | 0 | 2.62.3-10.el8_10 |
| AlmaLinux:9 | libsoup | 0 | 2.72.0-12.el9_7.1 |
| AlmaLinux:9 | libsoup-devel | 0 | 2.72.0-12.el9_7.1 |
| 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 |
| SUSE:Linux Enterprise Micro 5.2 | libsoup | 0 | 2.68.4-150200.4.12.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | libsoup | 0 | 3.4.4-150600.3.13.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | libsoup2 | 0 | 2.74.3-150600.4.12.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | libsoup | 0 | 3.4.4-150600.3.13.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP7 | libsoup2 | 0 | 2.74.3-150600.4.12.1 |
| openSUSE:Leap 15.6 | libsoup | 0 | 3.4.4-150600.3.13.1 |
| openSUSE:Leap 15.6 | libsoup2 | 0 | 2.74.3-150600.4.12.1 |
| openSUSE:Tumbleweed | libsoup | 0 | 3.6.5-6.1 |
| openSUSE:Tumbleweed | libsoup2 | 0 | 2.74.3-12.1 |
Related vulnerabilities
- CVE-2025-4948 A flaw was found in the soup_multipart_new_from_message() function of the libsoup HTTP… Also affects libsoup3
- CVE-2025-4035 A flaw was found in libsoup. 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