Faker: helpers.fake exploitable into arbritary code execution
Summary
faker.helpers.fake can be tricked into arbritary code execution.
Details
fakeEval.resolveProperty resolves properties on functions itself instead of resolving the nested function first. This can be addressed by recursively calling resolveProperty instead of accessing the property after one iteration.
PoC
Go to https://fakerjs.dev/ Open Browser console and run
await enableFaker(); // or import faker
faker.rawDefinitions.test = (() => () => {}); // Any function that returns a function
faker.helpers.fake(`{{test.constructor(alert('PowerLevel: Eval'))}}`);
Impact
The Fake method claims:
It is also NOT possible to use any non-faker methods or plain javascript in such patterns.
Which is objectively false, since any global gets fully accessible in the fake string.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | @faker-js/faker | < 10.5.0 | 10.5.0 |
References
- https://github.com/faker-js/faker/security/advisories/GHSA-qxc2-j82w-r537
- https://nvd.nist.gov/vuln/detail/CVE-2026-73231
- https://github.com/faker-js/faker/pull/3852
- https://github.com/faker-js/faker/commit/54586208f904012f57c50b46cc1ad32bcbe4bfb7
- https://github.com/faker-js/faker
- https://github.com/faker-js/faker/releases/tag/v10.5.0
- CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H- Weakness (CWE)
CWE-95- Platform
- npm
- Package
@faker-js/faker- Disclosed
- 02.09.2026
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-qxc2-j82w-r537 - CC BY 4.0
Vulnerability history: @faker-js/faker
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
This is the only known vulnerability of this package.
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.