CVE-2025-9901
Medium · 5.9CVSS
5.9
EPSS
0.5%
Published
Sep 3, 2025
CISA due date
—
Cloudanix analysis
A web caching component may accidentally deliver one person's private web data to someone else when the software is used in shared systems like proxies.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw causes SoupCache to serve cached HTTP responses without evaluating the Vary header, allowing responses that should differ based on request headers such as authentication or Accept-Language to be incorrectly reused across unrelated requests.
Why it matters to the business
In proxy or multi-user server environments, this can expose one user's sensitive data (such as authentication tokens or personal content) to other users, resulting in privacy violations, regulatory exposure, and loss of trust.
How an attack unfolds
An attacker positioned to interact with a shared cache first issues requests that populate responses under specific header combinations, then issues follow-on requests with different headers that should trigger distinct responses; the cache incorrectly returns the prior response, disclosing another party's data.
How to fix it
Upgrade to a patched version of libsoup that correctly implements Vary header checks inside SoupCache; until then, disable SoupCache in proxy or multi-user deployments or add application-level response isolation.
How to confirm the fix worked
Test the cache with pairs of requests that differ only in Vary-relevant headers and confirm distinct responses are returned; review cache logs or configuration for any remaining Vary bypasses after the upgrade.
Typical attack path
- Locate a proxy or multi-user deployment that uses libsoup caching
- Issue requests with varying header sets to seed the cache
- Trigger cache hits using requests whose headers differ from the cached entry
- Capture or observe the reused response containing another user's sensitive information
How to detect it
Review access and cache logs for repeated cache-hit entries served to different clients or under different authentication contexts; correlate timestamps of cache population with subsequent deliveries of potentially sensitive content.
What your security team should do
- Inventory all uses of libsoup caching in proxy or shared environments
- Prioritize upgrades in internet-facing or multi-tenant deployments
- Add compensating controls such as per-user cache namespaces where upgrades are delayed
- Include cache behavior in regular privacy and information-disclosure testing
The record
A flaw was found in libsoup’s caching mechanism, SoupCache, where the HTTP Vary header is ignored when evaluating cached responses. This header ensures that responses vary appropriately based on request headers such as language or authentication. Without this check, cached content can be incorrectly reused across different requests, potentially exposing sensitive user information. While the issue is unlikely to affect everyday desktop use, it could result in confidentiality breaches in proxy or multi-user environments.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| 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 |
| Debian:14 | libsoup2.4 | 0 | No fix |
| Debian:14 | libsoup3 | 0 | No fix |
Related vulnerabilities
- CVE-2025-4969 A vulnerability was found in the libsoup package. Also affects libsoup2.4
- CVE-2025-4945 A flaw was found in the cookie parsing logic of the libsoup HTTP library, used in GNOME… Also affects libsoup2.4
- CVE-2025-4948 A flaw was found in the soup_multipart_new_from_message() function of the libsoup HTTP… Also affects libsoup2.4
- CVE-2025-4476 A denial-of-service vulnerability has been identified in the libsoup HTTP client library. Also affects libsoup2.4
- CVE-2025-4035 A flaw was found in libsoup. Also affects libsoup2.4
- CVE-2025-46421 A flaw was found in libsoup. Also affects libsoup2.4
- CVE-2025-46420 A flaw was found in libsoup. Also affects libsoup2.4
- CVE-2025-32911 A use-after-free type vulnerability was found in libsoup, in the… Also affects libsoup2.4