~/talk

Prototype Pollution Leads to RCE: Gadgets Everywhere

Talkat Black Hat Asia 2023 · 2023-05-09..05-12· [security, javascript]
links:none on file
slides:none on file

Claims automated analysis finds over 10 real RCEs by chaining Prototype Pollution into usable gadgets across Node core and popular NPM packages, with concrete exploits: abusing npm CLI spawn options (polluting nth to control git SSH command), hijacking spawn.shell to run node with a remote debugger via internal inspect client, and combining a JS-BSON eval enabled gadget with a race condition against Parse Server + MongoDB to execute code. Tools include static queries, dynamic tracing (strace/citrace) and a prototype-pollution detector; mitigations include using Object.create(null) or copying only own properties.

AI-written summary · about

  1. 0:00Introduction to pollution
  2. 1:33JavaScript prototype model
  3. 3:44Pollution to remote code
  4. 6:48Real world case study
  5. 10:21Node.js core gadgets
  6. 15:07Require gadgets analysis
  7. 21:01Mitigations and bypasses
  8. 24:36Exploiting 3rd party libs
  9. 30:18Exploitation techniques
  10. 33:32Defense and conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.