CVE-2024-47762

5.8 MEDIUM

📋 TL;DR

Backstage's APP_CONFIG_* environment variables ignore visibility settings defined in configuration schemas, potentially exposing sensitive configuration details intended to remain private. This affects all Backstage deployments using APP_CONFIG_* environment variables for configuration. The vulnerability allows unauthorized access to backend or secret configuration values.

💻 Affected Systems

Products:
  • Backstage
Versions: All versions before @backstage/plugin-app-backend 0.3.75
Operating Systems: All
Default Config Vulnerable: ✅ No
Notes: Only affects deployments using APP_CONFIG_* environment variables for configuration, particularly for sensitive/secret values.

⚠️ 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

Exposure of sensitive secrets like database credentials, API keys, or authentication tokens to unauthorized users or attackers.

🟠

Likely Case

Accidental exposure of configuration details to frontend users or logs, potentially revealing infrastructure details or non-critical secrets.

🟢

If Mitigated

No exposure if APP_CONFIG_* variables aren't used for sensitive data or if proper access controls limit configuration visibility.

🌐 Internet-Facing: MEDIUM - Internet-facing Backstage instances could expose configuration to external attackers if they gain access to frontend interfaces.
🏢 Internal Only: MEDIUM - Internal deployments risk exposing sensitive configuration to unauthorized internal users or through logs.

🎯 Exploit Status

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

Exploitation requires access to Backstage frontend or configuration endpoints where exposed values might be visible.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: @backstage/plugin-app-backend 0.3.75

Vendor Advisory: https://github.com/backstage/backstage/security/advisories/GHSA-qc4v-xq2m-65wc

Restart Required: Yes

Instructions:

1. Update @backstage/plugin-app-backend to version 0.3.75 or later. 2. Update package.json dependencies. 3. Run npm install or yarn install. 4. Restart Backstage application.

🔧 Temporary Workarounds

Avoid APP_CONFIG_* for secrets

all

Stop using APP_CONFIG_* environment variables for sensitive configuration values.

export APP_CONFIG_backend_listen_port=7007 # OK for non-sensitive
# DO NOT use for secrets like: export APP_CONFIG_database_password=secret123

Use environment substitution

all

Use Backstage's built-in environment variable substitution for sensitive values.

In app-config.yaml: database: password: ${DATABASE_PASSWORD}
Then set: export DATABASE_PASSWORD=secret123

🧯 If You Can't Patch

  • Immediately stop using APP_CONFIG_* environment variables for any sensitive or secret configuration values.
  • Audit all APP_CONFIG_* variables to identify and remove any containing sensitive data, replacing with secure alternatives.

🔍 How to Verify

Check if Vulnerable:

Check if using @backstage/plugin-app-backend version <0.3.75 AND using APP_CONFIG_* environment variables for sensitive configuration.

Check Version:

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

Verify Fix Applied:

Verify @backstage/plugin-app-backend version is 0.3.75 or higher in package.json and node_modules.

📡 Detection & Monitoring

Log Indicators:

  • Configuration values with 'backend' or 'secret' visibility appearing in logs or frontend responses

Network Indicators:

  • Configuration endpoints returning values that should be restricted

SIEM Query:

Search for APP_CONFIG_* environment variables containing sensitive patterns (passwords, keys, tokens) in configuration logs.

🔗 References

📤 Share & Export