Résumé
Faker: helpers.fake exploitable into arbritary code execution
Détails de l’avis
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.
Références
- https://github.com/advisories/GHSA-qxc2-j82w-r537
- 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/releases/tag/v10.5.0
Vulnérabilités liées
Tout Supply chain →- CRITICALCVE-2026-71867
Orval: RCE via schema property name -> computed-property-key injection in the MSW mock generator
- CRITICALCVE-2026-71865
Orval: Import-time RCE via query parameter name -> computed-property-key injection in the zod cli
- CRITICALCVE-2026-71864
Orval: Import-time RCE via header parameter name -> computed-property-key injection in the zod client
- CRITICALCVE-2026-71866
Orval: Import-time RCE via schema property name -> computed-property-key injection in the zod client
- CRITICALCVE-2026-54569
senaite.core Vulnerable to Eval Injection and Missing Authorization
- CRITICALCVE-2026-61539
Xinference vulnerable to remote code execution via unsafe `eval()` in Llama3 tool-call parsing