CodeQL library for JavaScript
Search

Module PrototypePollution

Import path

import semmle.javascript.security.dataflow.PrototypePollutionCustomizations

Predicates

isVulnerableDeepExtendCallAllVersions

Holds if call comes from a package named id and is vulnerable to prototype pollution in every version of that package.

isVulnerableVersionOfDeepExtendCall

Holds if call is vulnerable to prototype pollution because the callee is defined by dep.

Classes

DeepExtendSink
Sink

A data flow sink for prototype pollution.

Source

A data flow source for prototype pollution.

TaintedObjectWrapper

Label for wrappers around tainted objects, that is, objects that are not completely user-controlled, but contain a user-controlled object.

Modules

TaintedObjectWrapper

Companion module to the TaintedObjectWrapper class.

Aliases

isVulnerableDeepExtendCall

DEPRECATED. Use isVulnerableVersionOfDeepExtendCall or isVulnerableDeepExtendCallAllVersions instead.