{"id":"CVE-2026-73231","aliases":["CLSA-2026-1793299902","CLSA-2026-1793301523","CLSA-2026-1793989312","EUVD-2026-56923","GHSA-qxc2-j82w-r537","ROOT-APP-NPM-CVE-2026-73231"],"status":"published","title":"Faker: helpers.fake exploitable into arbritary code execution","description":"Faker generates massive amounts of fake data in the browser and Node.js. Prior to 10.5.0, the faker.helpers.fake method in src/modules/helpers/eval.ts allows attacker-controlled fake templates to access the Function constructor through fakeEval.resolveProperty when a function returns another function, enabling arbitrary JavaScript code execution. This issue is fixed in version 10.5.0.","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.0021,"percentile":0.11299,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-95"],"published":"2026-08-11T19:28:44Z","modified":"2026-11-07T01:00:02Z","fixes":[{"ecosystem":"npm","package":"@faker-js/faker","fixed_in":["10.5.0"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:npm","package":"faker","fixed_in":["5.5.3-tuxcare.1"],"sources":["osv"]},{"ecosystem":"TuxCare:npm","package":"@faker-js/faker","fixed_in":["5.5.3-tuxcare.2","10.4.0-tuxcare.1"],"sources":["osv"]},{"ecosystem":"Root:npm","package":"@faker-js/faker","fixed_in":["7.6.0-aikido.1","9.9.0-aikido.1"],"sources":["osv"]},{"ecosystem":"Root:npm","package":"@rootio/faker-js__faker","fixed_in":["7.6.0-root.io.1","9.9.0-root.io.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"@faker-js/faker","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"10.4.0"},{"fixed":"10.5.0"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"faker","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.5.3-tuxcare.0"},{"fixed":"5.5.3-tuxcare.1"}]}],"versions":["5.5.3"]},{"source":"osv","ecosystem":"TuxCare:npm","package":"@faker-js/faker","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.5.3-tuxcare.0"},{"fixed":"5.5.3-tuxcare.2"}]}],"versions":["5.5.3"]},{"source":"osv","ecosystem":"TuxCare:npm","package":"@faker-js/faker","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"10.4.0-tuxcare.0"},{"fixed":"10.4.0-tuxcare.1"}]}],"versions":["10.4.0"]},{"source":"osv","ecosystem":"npm","package":"@faker-js/faker","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"10.5.0"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"@faker-js/faker","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"7.6.0-aikido.1"},{"fixed":"9.9.0-aikido.1"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"@rootio/faker-js__faker","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"7.6.0-root.io.1"},{"fixed":"9.9.0-root.io.1"}]}]}],"products":[{"vendor":"faker-js","product":"faker"}],"references":[{"url":"https://github.com/faker-js/faker/security/advisories/GHSA-qxc2-j82w-r537","tags":["x_refsource_CONFIRM","exploit","advisory","web"]},{"url":"https://github.com/faker-js/faker/pull/3852","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/faker-js/faker/commit/54586208f904012f57c50b46cc1ad32bcbe4bfb7","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/faker-js/faker/releases/tag/v10.5.0","tags":["x_refsource_MISC","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-73231","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-qxc2-j82w-r537"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/73xxx/CVE-2026-73231.json","tags":["advisory"]},{"url":"https://github.com/faker-js/faker","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-73231","title":"Faker: helpers.fake exploitable into arbritary code execution","description":"Faker generates massive amounts of fake data in the browser and Node.js. Prior to 10.5.0, the faker.helpers.fake method in src/modules/helpers/eval.ts allows attacker-controlled fake templates to access the Function constructor through fakeEval.resolveProperty when a function returns another function, enabling arbitrary JavaScript code execution. This issue is fixed in version 10.5.0.","status":"published","published":"2026-08-11T19:28:44.943Z","modified":"2026-08-13T14:41:25.803Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-95"],"updated_at":"2026-11-02T13:43:33.766176Z"}],"euvd":[{"id":"EUVD-2026-56923","description":"Faker generates massive amounts of fake data in the browser and Node.js. Prior to 10.5.0, the faker.helpers.fake method in src/modules/helpers/eval.ts allows attacker-controlled fake templates to access the Function constructor through fakeEval.resolveProperty when a function returns another function, enabling arbitrary JavaScript code execution. This issue is fixed in version 10.5.0.","status":"published","published":"2026-08-11T19:28:44Z","modified":"2026-08-13T14:41:25Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T18:01:56.415282Z"}],"ghsa":[{"id":"GHSA-qxc2-j82w-r537","title":"Faker: helpers.fake exploitable into arbritary code execution","description":"### Summary\n\n`faker.helpers.fake` can be tricked into arbritary code execution.\n\n### Details\n\nfakeEval.resolveProperty resolves properties on functions itself instead of resolving the nested function first.\nThis can be addressed by recursively calling resolveProperty instead of accessing the property after one iteration.\n\n### PoC\n\nGo to https://fakerjs.dev/\nOpen Browser console and run\n\n````ts\nawait enableFaker(); // or import faker\nfaker.rawDefinitions.test = (() =\u003e () =\u003e {}); // Any function that returns a function\nfaker.helpers.fake(`{{test.constructor(alert('PowerLevel: Eval'))}}`);\n````\n\n### Impact\n\nThe Fake method claims:\n\n\u003e It is also NOT possible to use any non-faker methods or plain javascript in such patterns.\n\nWhich is objectively false, since any global gets fully accessible in the fake string.","status":"published","published":"2026-09-02T14:20:14Z","modified":"2026-09-02T14:20:15Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-95"],"updated_at":"2026-11-02T14:41:10.121131Z"}],"nvd":[{"id":"CVE-2026-73231","description":"Faker generates massive amounts of fake data in the browser and Node.js. Prior to 10.5.0, the faker.helpers.fake method in src/modules/helpers/eval.ts allows attacker-controlled fake templates to access the Function constructor through fakeEval.resolveProperty when a function returns another function, enabling arbitrary JavaScript code execution. This issue is fixed in version 10.5.0.","status":"published","published":"2026-08-11T20:18:48.4Z","modified":"2026-10-24T15:10:00.19Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-95"],"updated_at":"2026-11-02T14:12:36.880938Z"}],"osv":[{"id":"CVE-2026-73231","title":"Faker: helpers.fake exploitable into arbritary code execution","description":"Faker generates massive amounts of fake data in the browser and Node.js. Prior to 10.5.0, the faker.helpers.fake method in src/modules/helpers/eval.ts allows attacker-controlled fake templates to access the Function constructor through fakeEval.resolveProperty when a function returns another function, enabling arbitrary JavaScript code execution. This issue is fixed in version 10.5.0.","status":"published","published":"2026-08-11T19:28:44.943Z","modified":"2026-10-28T02:31:08.41853349Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-95"],"updated_at":"2026-11-02T15:45:15.88521Z"},{"id":"GHSA-qxc2-j82w-r537","title":"Faker: helpers.fake exploitable into arbritary code execution","description":"### Summary\n\n`faker.helpers.fake` can be tricked into arbritary code execution.\n\n### Details\n\nfakeEval.resolveProperty resolves properties on functions itself instead of resolving the nested function first.\nThis can be addressed by recursively calling resolveProperty instead of accessing the property after one iteration.\n\n### PoC\n\nGo to https://fakerjs.dev/\nOpen Browser console and run\n\n````ts\nawait enableFaker(); // or import faker\nfaker.rawDefinitions.test = (() =\u003e () =\u003e {}); // Any function that returns a function\nfaker.helpers.fake(`{{test.constructor(alert('PowerLevel: Eval'))}}`);\n````\n\n### Impact\n\nThe Fake method claims:\n\n\u003e It is also NOT possible to use any non-faker methods or plain javascript in such patterns.\n\nWhich is objectively false, since any global gets fully accessible in the fake string.","status":"published","published":"2026-09-02T14:20:14Z","modified":"2026-09-02T14:30:05.884430461Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-95"],"updated_at":"2026-11-02T15:46:55.122811Z"},{"id":"CLSA-2026-1793299902","title":"TuxCare security update for faker (1 CVE)","description":"TuxCare rebuilt faker to address 1 CVE. Fixed in 5.5.3-tuxcare.1.","status":"published","published":"2026-10-29T19:51:43Z","modified":"2026-10-30T02:15:05.286876504Z","updated_at":"2026-11-02T15:43:55.669514Z"},{"id":"CLSA-2026-1793301523","title":"TuxCare security update for @faker-js/faker (1 CVE)","description":"TuxCare rebuilt @faker-js/faker to address 1 CVE. Fixed in 5.5.3-tuxcare.2.","status":"published","published":"2026-10-29T20:18:44Z","modified":"2026-10-30T02:15:06.132070187Z","updated_at":"2026-11-02T15:43:55.669514Z"},{"id":"CLSA-2026-1793989312","title":"TuxCare security update for @faker-js/faker (1 CVE)","description":"TuxCare rebuilt @faker-js/faker to address 1 CVE. Fixed in 10.4.0-tuxcare.1.","status":"published","published":"2026-11-06T19:21:53Z","modified":"2026-11-07T01:00:02.385710207Z","updated_at":"2026-11-07T01:26:17.791146Z"},{"id":"ROOT-APP-NPM-CVE-2026-73231","title":"CVE-2026-73231 in @faker-js/faker - Patched by Root","description":"Root has patched CVE-2026-73231 in the @faker-js/faker package for Root:npm. Multiple fixed versions available.","status":"published","published":"2026-09-16T06:35:03Z","modified":"2026-09-16T07:15:03.031401631Z","updated_at":"2026-11-02T15:53:27.649662Z"}]}}
