CVE-2026-53607 json
@apostrophecms/file pretty-URL Vulnerable to Unauthenticated SSRF via Host header
published 5mo ago modified 17d ago also EUVD-2026-36576 , GHSA-34pj-2622-jvxq
- cvss
- 3.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 20%
- public exploits
- 0
- none known
Summary
ApostropheCMS is an open-source Node.js content management system. In versions up to and including 4.30.0, when `prettyUrls: true` is enabled on `@apostrophecms/file` (a documented SEO feature for serving uploaded files at clean URLs), the public pretty-URL handler builds the upstream URL using the raw `Host` HTTP request header. That URL is then `fetch`'ed and the response body + headers are streamed straight back to the requester. Because `Host` is fully attacker-controlled, an unauthenticated remote attacker can pivot the apostrophe process to issue outbound HTTP requests against any host it can reach on the private network. The path component is constrained to `/uploads/attachments/<cuid>-<slug>.<ext>` (built from a local-DB lookup), which keeps the impact narrow: cross-instance data exfiltration is neutralized by cuid uniqueness, but blind-SSRF residuals remain (network-topology mapping via response-code / timing differences and verbose proxy/WAF 404 body disclosure). As of time of publication, no known patched versions exist.
Patch / fix
- npm apostrophe 4.31.0
- github.com/apostrophecms/apostrophe@5a88e96 commit
- github.com/apostrophecms/apostrophe#5464 pull request
Is CVE-2026-53607 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 4mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 20% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- github.com https://github.com/apostrophecms/apostrophe/security/advisories/GHSA-34pj-2622-jvxq referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N |
| GitHub | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | apostrophe | <4.31.0 |
4.31.0 |
Affected products
- apostrophecms apostrophe
Classification
- Weakness
-
- CWE-918 Server-Side Request Forgery
References
-
github.com
/apostrophecms/apostrophe/pull/5464
web
-
github.com
/apostrophecms/apostrophe/commit/5a88e9630cbbdde33154ef8abe7557ddf7be418b
web
-
github.com
/apostrophecms/apostrophe/security/advisories/GHSA-34pj-2622-jvxq
exploit, web, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-53607
advisory
-
github.com
/apostrophecms/apostrophe
package
Sources
- CVE List CVE-2026-53607
- GitHub Advisory GHSA-34pj-2622-jvxq
- NVD CVE-2026-53607
- Maintainer advisory GHSA-34pj-2622-jvxq
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of apostrophecms/apostrophe published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.