CVE-2025-61786 Deno's --deny-read check does not prevent permission bypass

Low 3.3 Published Updated

Attackers can bypass Deno's read permission restrictions to retrieve file statistics from protected files using specific API calls.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2025-61786?

CVE-2025-61786 is a low-severity vulnerability in denoland deno, published on 8 Oct 2025. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

Deno is a JavaScript, TypeScript, and WebAssembly runtime. In versions prior to 2.5.3 and 2.2.15, `Deno.FsFile.prototype.stat` and `Deno.FsFile.prototype.statSync` are not limited by the permission model check `--deny-read=./`. It's possible to retrieve stats from files that the user do not have explicit read access to (the script is executed with `--deny-read=./`). Similar APIs like `Deno.stat` and `Deno.statSync` require `allow-read` permission, however, when a file is opened, even with file-write only flags and deny-read permission, it's still possible to retrieve file stats, and thus bypass the permission model. Versions 2.5.3 and 2.2.15 fix the issue.

Weakness: CWE-269

Which versions are affected by CVE-2025-61786?

2 open source packages ship an affected version, including deno. It affects 1 product.

PackageAffectedFixed in
deno crates.ioAll versions2.5.3
deno crates.ioAll versions2.5.3

Products include Deno Deno.

How do I fix CVE-2025-61786?

Upgrade deno to 2.5.3 or later.

Is CVE-2025-61786 being exploited?

There is no known exploitation of CVE-2025-61786 in the wild and no public exploit code.

Sources

Also known as GHSA-qq26-84mh-26j9, JLSEC-2026-112.

Is CVE-2025-61786 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free