CVE-2024-45816

6.5 MEDIUM

📋 TL;DR

This vulnerability in Backstage's TechDocs plugin allows attackers to access the entire AWS S3 or GCS storage bucket contents when using those providers, bypassing intended permission checks. This affects all Backstage deployments using TechDocs with AWS S3 or Google Cloud Storage providers. Sensitive documents and files not meant for public access could be exposed.

💻 Affected Systems

Products:
  • Backstage TechDocs plugin
Versions: All versions before 1.10.13 of @backstage/plugin-techdocs-backend
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments using AWS S3 or Google Cloud Storage providers for TechDocs storage. Local and other storage providers are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete exposure of all files in the storage bucket, including sensitive credentials, proprietary code, internal documentation, and private data, potentially leading to data breaches and intellectual property theft.

🟠

Likely Case

Unauthorized access to technical documentation and other files stored in the bucket, potentially exposing internal systems information and proprietary knowledge.

🟢

If Mitigated

Limited exposure if bucket contains only public documentation, but still represents a permission bypass vulnerability.

🌐 Internet-Facing: HIGH - If Backstage instance is internet-accessible, attackers can directly exploit this vulnerability without internal access.
🏢 Internal Only: MEDIUM - Internal attackers or compromised accounts could exploit this to access bucket contents beyond their intended permissions.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability appears to be a path traversal or permission misconfiguration that allows accessing any file in the bucket. No authentication bypass is needed if the Backstage instance is accessible.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.10.13 of @backstage/plugin-techdocs-backend

Vendor Advisory: https://github.com/backstage/backstage/security/advisories/GHSA-39v3-f278-vj3g

Restart Required: Yes

Instructions:

1. Update package.json to use @backstage/plugin-techdocs-backend version 1.10.13 or later. 2. Run npm update or yarn install. 3. Restart the Backstage application. 4. Verify the update was successful.

🔧 Temporary Workarounds

No workarounds available

all

The vendor advisory states there are no known workarounds for this vulnerability

🧯 If You Can't Patch

  • Restrict network access to Backstage instances to trusted networks only
  • Audit and remove sensitive files from TechDocs storage buckets, or migrate to non-vulnerable storage providers

🔍 How to Verify

Check if Vulnerable:

Check package.json for @backstage/plugin-techdocs-backend version. If version is less than 1.10.13 and using AWS S3 or GCS storage, the system is vulnerable.

Check Version:

npm list @backstage/plugin-techdocs-backend or check package.json file

Verify Fix Applied:

Verify package.json shows @backstage/plugin-techdocs-backend version 1.10.13 or higher, and test that TechDocs functionality works correctly with proper access restrictions.

📡 Detection & Monitoring

Log Indicators:

  • Unusual access patterns to TechDocs endpoints, especially requests attempting to access paths outside normal documentation structure

Network Indicators:

  • Multiple requests to TechDocs endpoints with varying path parameters, especially from untrusted sources

SIEM Query:

source="backstage-logs" AND (uri_path CONTAINS "/docs/" OR uri_path CONTAINS "/techdocs/") AND (status_code=200 OR status_code=403) AND (uri_path MATCHES ".*[.][.]|.*%2e%2e.*")

🔗 References

📤 Share & Export