CVE-2026-24048

3.5 LOW

📋 TL;DR

This SSRF vulnerability in Backstage's FetchUrlReader component allows attackers who control allowed hosts to bypass URL allowlist restrictions via HTTP redirects. It enables access to internal resources that aren't on the allowlist, potentially exposing sensitive internal endpoints. All Backstage deployments using vulnerable versions of @backstage/backend-defaults are affected.

💻 Affected Systems

Products:
  • Backstage
  • @backstage/backend-defaults
Versions: All versions before 0.12.2, 0.13.2, 0.14.1, and 0.15.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments where backend.reading.allow includes untrusted hosts or hosts with open redirect vulnerabilities.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attacker gains access to sensitive internal systems, cloud metadata services, or internal APIs, potentially leading to data exfiltration or further lateral movement.

🟠

Likely Case

Limited access to internal resources that aren't properly firewalled, potentially exposing internal services or metadata.

🟢

If Mitigated

With proper network segmentation and allowlist restrictions, impact is limited to allowed hosts only.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires control over a host in the allowlist and ability to set up redirects. No authentication bypass needed beyond controlling allowed host.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.12.2, 0.13.2, 0.14.1, or 0.15.0

Vendor Advisory: https://github.com/backstage/backstage/security/advisories/GHSA-q2x5-4xjx-c6p9

Restart Required: Yes

Instructions:

1. Update @backstage/backend-defaults to version 0.12.2, 0.13.2, 0.14.1, or 0.15.0. 2. Update package.json dependencies. 3. Run npm install or yarn install. 4. Restart Backstage services.

🔧 Temporary Workarounds

Restrict allowlist to trusted hosts

all

Limit backend.reading.allow to only hosts you fully control that don't issue redirects

Edit backstage configuration to update backend.reading.allow list

Network segmentation

all

Implement network-level controls to block Backstage from accessing sensitive internal endpoints

Configure firewall rules to restrict Backstage network access

🧯 If You Can't Patch

  • Audit and restrict backend.reading.allow list to only essential, trusted hosts
  • Implement network segmentation and firewall rules to limit Backstage's access to internal resources

🔍 How to Verify

Check if Vulnerable:

Check package.json for @backstage/backend-defaults version. If version is below 0.12.2, 0.13.2, 0.14.1, or 0.15.0, system is vulnerable.

Check Version:

npm list @backstage/backend-defaults or check package.json

Verify Fix Applied:

Verify @backstage/backend-defaults version is 0.12.2, 0.13.2, 0.14.1, or 0.15.0 or higher in package.json and node_modules.

📡 Detection & Monitoring

Log Indicators:

  • Unusual redirect patterns in Backstage logs
  • Requests to unexpected internal IPs from Backstage

Network Indicators:

  • HTTP redirect chains from allowed hosts to internal IPs
  • Backstage making requests to internal services not on allowlist

SIEM Query:

source="backstage" AND (http.status=3* OR redirect OR "Location:")

🔗 References

📤 Share & Export