# CVE-2024-47822: Directus inserts access token from query string into logs

> Attackers with log access can steal unredacted access tokens from query strings in raw logs, potentially gaining administrative control.

- **Severity:** Medium 4.2 (`CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N`)
- **Exploited in the wild:** Not known
- **Login needed:** An administrator
- **Attackable:** Local or same network only
- **Victim action needed:** A user has to click or open something
- **Fix available:** Yes
- **Published:** 8 Oct 2024
- **Updated:** 14 Apr 2025
- **Also known as:** GHSA-vw58-ph65-6rxp

## What is CVE-2024-47822?

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.

### Official 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.

Weakness: CWE-532 (Insertion of Sensitive Information into Log File)

## Which versions are affected by CVE-2024-47822?

2 open source packages ship an affected version, including @directus/api. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `@directus/api` | npm | All versions | 21.0.0 |
| `@directus/api` | npm | All versions | 21.0.0 |

Products: Monospace Directus.

## How do I fix CVE-2024-47822?

Upgrade @directus/api to 21.0.0 or later.

## Is CVE-2024-47822 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-47822 exists.

## Other vulnerabilities in Monospace Directus

- [CVE-2022-26969](https://insights.sbomify.com/CVE-2022-26969/): Insecure default value for CORS configuration (critical 9.8)
- [CVE-2025-55746](https://insights.sbomify.com/CVE-2025-55746/): Directus allows unauthenticated file upload and file modification due to lacking input sanitization (critical 9.3)
- [CVE-2026-35408](https://insights.sbomify.com/CVE-2026-35408/): Directus is Missing Cross-Origin Opener Policy (high 8.7)
- [CVE-2026-61836](https://insights.sbomify.com/CVE-2026-61836/): Directus: Authorization-dependent response served from unsegmented cache key (high 8.6)
- [CVE-2025-30353](https://insights.sbomify.com/CVE-2025-30353/): Directus's webhook trigger flows can leak sensitive data (high 8.6)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2024-47822 and fix it if it is affected.

What 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.
Exploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-47822 exists.

Affected packages and fixed versions:
- @directus/api (npm): affected all versions; fixed in 21.0.0
- @directus/api (npm): affected all versions; fixed in 21.0.0

Task:
1. 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.
2. 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.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2024-47822/ (Markdown: https://insights.sbomify.com/CVE-2024-47822/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2024-47822
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-47822
- OSV: https://osv.dev/vulnerability/CVE-2024-47822

---
From sbomify Insights: https://insights.sbomify.com/CVE-2024-47822/
Summaries are generated and may contain mistakes; the official description above is the record.
