CVE-2024-38999: Js Foreach Prop No Proto Blocklist

`for...in` loop is guarded only by an own-property check (`hasProp`/`hasOwnProperty`) without filtering the dangerous keys `__proto__` and `constructor`. When the loop body forwards `prop` into a recursive merge or assignment on another object (a common pattern in `mixin`/`extend`/`configure` helpers), an attacker who can supply the iterated object via `JSON

Provally CuratedPublic repositoryMediumMedium confidenceVerifiedApache-2.0JS
greprules fetch cve-2024-38999-js-foreach-prop-no-proto-blocklist --engine opengrep

Description

`for...in` loop is guarded only by an own-property check (`hasProp`/`hasOwnProperty`) without filtering the dangerous keys `__proto__` and `constructor`. When the loop body forwards `prop` into a recursive merge or assignment on another object (a common pattern in `mixin`/`extend`/`configure` helpers), an attacker who can supply the iterated object via `JSON