{"answers":{"affected":"2 open source packages ship an affected version, including @directus/api. It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-47822 exists.","fix":"Upgrade @directus/api to 21.0.0 or later.","what":"CVE-2024-47822 is a medium-severity vulnerability in Monospace Directus, published on 8 Oct 2024. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link."},"fix_prompt":"Check this codebase for CVE-2024-47822 and fix it if it is affected.\n\nWhat it is: CVE-2024-47822 is a medium-severity vulnerability in Monospace Directus, published on 8 Oct 2024. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-47822 exists.\n\nAffected packages and fixed versions:\n- @directus/api (npm): affected all versions; fixed in 21.0.0\n- @directus/api (npm): affected all versions; fixed in 21.0.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2024-47822/ (Markdown: https://insights.sbomify.com/CVE-2024-47822/index.md)","id":"CVE-2024-47822","markdown":"https://insights.sbomify.com/CVE-2024-47822/index.md","name":"CVE-2024-47822","record":{"aliases":["GHSA-vw58-ph65-6rxp"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["data_read","account_takeover"],"network_reachable":"adjacent_or_local","non_default_config":true,"product_category":"Directus API dashboard","requires_auth":"high_privilege","summary":"Attackers with log access can steal unredacted access tokens from query strings in raw logs, potentially gaining administrative control.","user_interaction":"required","vuln_class":"information_disclosure"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"directus","vendor":"monospace"}],"cvss":{"score":4.2,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N","version":"3.1"},"cwes":[{"id":"CWE-532","name":"Insertion of Sensitive Information into Log File"}],"description":"Directus is a real-time API and App dashboard for managing SQL database content. Access tokens from query strings are not redacted and are potentially exposed in system logs which may be persisted. The access token in `req.query` is not redacted when the `LOG_STYLE` is set to `raw`. If these logs are not properly sanitized or protected, an attacker with access to it can potentially gain administrative control, leading to unauthorized data access and manipulation. This impacts systems where the `LOG_STYLE` is set to `raw`. The `access_token` in the query could potentially be a long-lived static token. Users with impacted systems should rotate their static tokens if they were provided using query string. This vulnerability has been patched in release version 10.13.2 and subsequent releases as well. Users are advised to upgrade. There are no known workarounds for this vulnerability.","ecosystems":["npm"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"Directus inserts access token from query string into logs","id":"CVE-2024-47822","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"npm","product":"monospace:directus","products":["monospace:directus"],"type":"information_disclosure","year":"2024"},"n_packages":2,"n_references":2,"next":{"headline":"Livewire Remote Code Execution (RCE) on File Uploads","id":"CVE-2024-47823"},"packages":[{"ecosystem":"npm","fixed":["21.0.0"],"introduced":["0"],"last_affected":[],"package":"@directus/api","purl":null,"source":"GHSA-vw58-ph65-6rxp"},{"ecosystem":"npm","fixed":["21.0.0"],"introduced":["0"],"last_affected":[],"package":"@directus/api","purl":"pkg:npm/%40directus/api","source":"GHSA-vw58-ph65-6rxp"}],"prev":{"headline":"pyLoad vulnerable to remote code execution by download to /.pyload/scripts using /flashgot API","id":"CVE-2024-47821"},"products":["directus"],"published":"2024-10-08","related":[{"cvss_score":9.8,"headline":"Insecure default value for CORS configuration","id":"CVE-2022-26969","kev_date_added":null,"published":"2022-12-26"},{"cvss_score":9.3,"headline":"Directus allows unauthenticated file upload and file modification due to lacking input sanitization","id":"CVE-2025-55746","kev_date_added":null,"published":"2025-08-20"},{"cvss_score":8.7,"headline":"Directus is Missing Cross-Origin Opener Policy","id":"CVE-2026-35408","kev_date_added":null,"published":"2026-04-06"},{"cvss_score":8.6,"headline":"Directus: Authorization-dependent response served from unsegmented cache key","id":"CVE-2026-61836","kev_date_added":null,"published":"2026-07-15"},{"cvss_score":8.6,"headline":"Directus's webhook trigger flows can leak sensitive data","id":"CVE-2025-30353","kev_date_added":null,"published":"2025-03-26"},{"cvss_score":8.5,"headline":"Directus has a Path Traversal and Broken Access Control in File Management API","id":"CVE-2026-39942","kev_date_added":null,"published":"2026-04-09"},{"cvss_score":8.2,"headline":"Directus MySQL accent insensitive email matching","id":"CVE-2024-27295","kev_date_added":null,"published":"2024-03-01"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-04-14","vendors":["directus"]},"summary":"Attackers with log access can steal unredacted access tokens from query strings in raw logs, potentially gaining administrative control.","url":"https://insights.sbomify.com/CVE-2024-47822/"}