CVE-2025-53624

10.0 CRITICAL

📋 TL;DR

The Docusaurus gists plugin versions before 4.0.0 expose GitHub Personal Access Tokens in client-side JavaScript bundles when configured with the token. This allows anyone viewing the website's source code to steal the token, potentially gaining unauthorized access to GitHub resources. Only users who configured the plugin with a GitHub token are affected.

💻 Affected Systems

Products:
  • docusaurus-plugin-content-gists
Versions: All versions prior to 4.0.0
Operating Systems: All
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when GitHub Personal Access Token is configured in plugin options.

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

Attackers obtain the GitHub token and gain full access to all GitHub resources the token authorizes, potentially compromising repositories, deploying malicious code, or accessing private organizational data.

🟠

Likely Case

Attackers discover the exposed token and use it to read private repositories, create issues, or perform other actions allowed by the token's scopes.

🟢

If Mitigated

If the token has minimal scopes and is quickly revoked, impact is limited to temporary unauthorized API calls.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires only viewing website source code; no authentication or special tools needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.0.0

Vendor Advisory: https://github.com/webbertakken/docusaurus-plugin-content-gists/security/advisories/GHSA-qf34-qpr4-5pph

Restart Required: Yes

Instructions:

1. Update package.json to require 'docusaurus-plugin-content-gists' version '^4.0.0'. 2. Run npm update or yarn upgrade. 3. Rebuild and redeploy the Docusaurus site.

🔧 Temporary Workarounds

Revoke and regenerate token

all

Immediately revoke the exposed GitHub Personal Access Token and generate a new one with minimal necessary scopes.

Remove token from configuration

all

Temporarily remove the GitHub token from plugin configuration if gist functionality is not critical.

🧯 If You Can't Patch

  • Immediately revoke the exposed GitHub token and audit all GitHub activity for unauthorized access.
  • Implement Content Security Policy (CSP) headers to restrict script sources, though this may not fully prevent token extraction from static files.

🔍 How to Verify

Check if Vulnerable:

Inspect the built JavaScript bundles for any GitHub token strings; check if plugin version is below 4.0.0 in package.json.

Check Version:

npm list docusaurus-plugin-content-gists

Verify Fix Applied:

Confirm plugin version is 4.0.0 or higher in package.json and verify no token strings appear in built JavaScript files.

📡 Detection & Monitoring

Log Indicators:

  • Unusual GitHub API activity from unexpected IPs or user agents

Network Indicators:

  • HTTP requests to GitHub API with exposed token from client browsers

SIEM Query:

source='github_audit_log' AND action:api_token_* AND actor NOT IN (authorized_users)

🔗 References

📤 Share & Export