{"id":"CVE-2024-36361","aliases":["GHSA-3965-hpx2-q597"],"url":"https://o3.security/vulnerability/CVE-2024-36361","summary":"Pug allows JavaScript code execution if an application accepts untrusted input","details":"Pug through 3.0.2 allows JavaScript code execution if an application accepts untrusted input for the name option of the compileClient, compileFileClient, or compileClientWithDependenciesTracked function. NOTE: these functions are for compiling Pug templates into JavaScript, and there would typically be no reason to allow untrusted callers.","published":"2024-05-24T06:04:19.211Z","modified":"2026-08-12T03:51:21.326377004Z","cvss":{"score":6.8,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N"},"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"pug-code-gen","fixedVersion":"3.0.3"},{"ecosystem":"npm","name":"pug","fixedVersion":"3.0.3"}],"fix":{"url":"https://github.com/pugjs/pug/pull/3428","label":"pugjs/pug#3428"},"references":[{"type":"WEB","url":"https://pugjs.org/api/reference.html"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/36xxx/CVE-2024-36361.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-36361"},{"type":"FIX","url":"https://github.com/pugjs/pug/pull/3428"},{"type":"WEB","url":"https://github.com/pugjs/pug/pull/3438"},{"type":"WEB","url":"https://github.com/pugjs/pug/commit/32acfe8f197dc44c54e8af32c7d7b19aa9d350fb"},{"type":"WEB","url":"https://github.com/Coding-Competition-Team/hackac-2024/tree/main/web/pug"},{"type":"PACKAGE","url":"https://github.com/pugjs/pug"},{"type":"WEB","url":"https://github.com/pugjs/pug/blob/4767cafea0af3d3f935553df0f9a8a6e76d470c2/packages/pug/lib/index.js#L328"},{"type":"WEB","url":"https://github.com/pugjs/pug/releases/tag/pug%403.0.3"},{"type":"WEB","url":"https://www.npmjs.com/package/pug-code-gen"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:21.326377004Z"}}