@babel/core: Arbitrary File Read via sourceMappingURL Comment
Published 15 Jun 2026 · Updated 10 Sept 2026
Affected packages
- Affected
- >=8.0.0-alpha.0 <8.0.0-rc.6
- Fixed in
- 8.0.0-rc.6
npm install @babel/core@8.0.0-rc.6- Affected
- <7.29.6
- Fixed in
- 7.29.6
npm install @babel/core@7.29.6Details
Impact
Using @babel/core to compile maliciously crafted code can allow ab attacker to read any source map from the system that is running Babel, if these conditions are _all_ true:
- the attacker controls the input source code
- the attacker can read the output source code
- the attacker knows the path of the source map file that they want to read
Users that only compile trusted code are not impacted.
Patches
The vulnerability has been fixed in @babel/core@7.29.6 and @babel/core@8.0.0-rc.6.
Workarounds
Callers can mitigate the issue without upgrading by setting `inputSourceMap: false` in their Babel options.
Callers can also manually extract the #sourceMappingURL comment from the input source code, validate whether the source map that it links to is allowed to be read, and if it is pass an object to inputSourceMap (passing false when it's not).
Credits
Thanks Teodor-Cristian Radoi for reporting the vulnerability.
Is GHSA-4x5r-pxfx-6jf8 in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected @babel/core, and gives you the command that fixes it.
References
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.