Skip to content

Commit 685a219

Browse files
committed
Two new faraday-http-cache advisories
1 parent 44784c2 commit 685a219

2 files changed

Lines changed: 74 additions & 0 deletions

File tree

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
gem: faraday-http-cache
3+
ghsa: c33f-42f2-gwcc
4+
url: https://github.com/sourcelevel/faraday-http-cache/security/advisories/GHSA-c33f-42f2-gwcc
5+
title: Shared cache serves responses to authenticated requests to other callers
6+
date: 2026-09-15
7+
description: |
8+
faraday-http-cache acts as a shared cache by default (shared_cache: true).
9+
The ByUrl strategy keys entries on method and URL and treats a cached
10+
response without a Vary header as matching every request, and the
11+
ByVary strategy relies on the origin listing Authorization in Vary.
12+
A response to a request that carried an Authorization header is
13+
therefore stored and served to later requests from different callers
14+
whenever the origin omits Vary and does not mark the response private.
15+
16+
RFC 9111 section 3.5 requires a shared cache not to reuse such a
17+
response unless it carries public, must-revalidate or s-maxage. The
18+
middleware did not implement that rule.
19+
20+
NOTE: Versions 2.0.0 through 2.7.0 were confirmed by the reporter;
21+
the 1.x line was not tested.
22+
23+
## CREDIT
24+
25+
Reported by Matthew Mongeau (Ruby Central / Project Glasswing).
26+
RFC 9111 section 3.5.
27+
cvss_v3: 6.5
28+
patched_versions:
29+
- ">= 2.8.0"
30+
related:
31+
url:
32+
- https://rubygems.org/gems/faraday-http-cache/versions/2.8.0
33+
- https://github.com/sourcelevel/faraday-http-cache/blob/master/CHANGELOG.md#280-2026-09-15
34+
- https://github.com/sourcelevel/faraday-http-cache/compare/v2.7.0...v2.8.0
35+
- https://github.com/sourcelevel/faraday-http-cache/security/advisories/GHSA-c33f-42f2-gwcc
36+
notes: |
37+
- cvss_v3 from GHSA URL.
38+
- No CVE in GHSA URL.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
gem: faraday-http-cache
3+
ghsa: p8jg-8p9f-pgmr
4+
url: https://github.com/sourcelevel/faraday-http-cache/security/advisories/GHSA-p8jg-8p9f-pgmr
5+
title: Cache entries deserialized with JSON.load can instantiate
6+
arbitrary classes named by an origin server
7+
date: 2026-09-15
8+
description: |
9+
faraday-http-cache stores cached responses with the JSON module by
10+
default and reads them back with JSON.load, which honours the
11+
json_class key and calls json_create on the named class. Response
12+
headers are stored verbatim inside the cache entry, so an origin
13+
server that returns a json_class response header causes that class
14+
to be instantiated in the client process on the next cache hit. Any
15+
application that uses the middleware to fetch URLs it does not
16+
fully control is affected with the default configuration, through
17+
both the ByUrl and ByVary strategies.
18+
19+
NOTE: Versions 2.0.0 through 2.7.0 were confirmed by the reporter;
20+
the 1.x line was not tested but uses the same deserialization path.
21+
22+
## CREDIT
23+
24+
Reported by Matthew Mongeau (Ruby Central / Project Glasswing).
25+
cvss_v3: 8.1
26+
patched_versions:
27+
- ">= 2.8.0"
28+
related:
29+
url:
30+
- https://rubygems.org/gems/faraday-http-cache/versions/2.8.0
31+
- https://github.com/sourcelevel/faraday-http-cache/blob/master/CHANGELOG.md#280-2026-09-15
32+
- https://github.com/sourcelevel/faraday-http-cache/compare/v2.7.0...v2.8.0
33+
- https://github.com/sourcelevel/faraday-http-cache/security/advisories/GHSA-p8jg-8p9f-pgmr
34+
notes: |
35+
- cvss_v3 from GHSA URL.
36+
- No CVE in GHSA URL.

0 commit comments

Comments
 (0)