Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-2766-but-with-wasm — CVE-2026-2766, लेकिन wasm के साथ | Kitploit
उपकरण/GitHubGitHub/sneakynachos/cve-2026-2766-but-with-wasm
भेद्यता विश्लेषणशोषणशेलकोडपेलोड डेवलपमेंटबाइनरी शोषण
GitHubsneakynachos/cve-2026-2766-but-with-wasm

CVE-2026-2766-but-with-wasm

CVE-2026-2766, लेकिन wasm के साथ

रिपॉजिटरी देखें
1111 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-2766, लेकिन wasm के साथ

स्थिति: validated crash PoC, demonstrated control-flow hijack के साथ (crash pc = freed-cell poison 0xcdcdcdcdcdcdcdcd debug shell के अंतर्गत — engine freed ICScript से पढ़े गए pointer पर jump करता है)। शेष कार्य: reclaimed bytes को नियंत्रित करना। देखें research/README.md।

2026 के एक bug पर WasmBlazeFox-family chain: CVE-2026-2766, "JIT miscompilation / use-after-free in the JavaScript Engine: JIT component", जिसे Firefox 148 (MFSA 2026-13) में ठीक किया गया। Endgame वही है जो CVE-2024-29943-but-with-wasm में है: primitive को code pointer के नियंत्रण में बदलना, और उसे shellcode constants से भरे WASM JIT page पर निशाना बनाना।

मूल कारण

Mozilla की स्वयं की regression test टिप्पणियों (bug 2013583, test hg 457b68097f81 में landed) और js/src/jit/JitScript.h में ICScript Lifetimes SMDOC से:

  • Ion trial inlining के दौरान, एक polymorphic call site transition को call करता है → child का से हटा दिया जाता है, लेकिन अभी भी के vector द्वारा referenced है — और, घातक रूप से, caller की IC chain में अभी भी बैठे stale stub द्वारा।
removeInlinedChild
ICScript
inlinedChildren_
InliningRoot
inlinedScripts_
CallInlinedFunction
  • एक compacting GC (gczeal(14, 1), यानी हर allocation पर ZealCompactValue) orphaned ICScript को move/evacuate करता है, जबकि stale stub chain पुराना address बनाए रखती है।
  • पुराने stub के माध्यम से अगली call stale ICScript pointer को dereference करती है → use-after-move। ASAN/fuzzing builds में freed cell को 0xe5 से poison किया जाता है, जिससे बहुत सुपाठ्य crash मिलता है।
  • Crash साक्ष्य

    Vulnerable build: mozilla-central rev b3663be61a1a (2026-01-15 nightly; fix 2026-01-15 और 2026-02-09 के बीच landed — Feb-09 nightly बच जाता है)। Shell: उस rev के लिए Taskcluster linux64-fuzzing-asan-opt jsshell (gczeal के लिए आवश्यक; release-opt shells में यह नहीं होता)।

    root@kitploit:~
    ./js --ion-warmup-threshold=100000 poc.js
    
    == ERROR: AddressSanitizer: SEGV on unknown address 0xe5e5e5e5e5e5e5e5
       The signal is caused by a READ memory access.
       #0-#3 <unknown module>          <- baseline JIT code
       #4 EnterJit / MaybeEnterJit     <- js/src/jit/Jit.cpp
       #10 js::jit::DoCallFallback     <- BaselineIC.cpp (the stale IC chain)
       rdi = 0xe5e5e5e5e5e5e5e5        <- the freed ICScript
    

    Dereference baseline JIT code में stale stub chain पर चलते हुए होता है: reclaimed cell का नियंत्रण = उन ICEntry/stub fields का नियंत्रण जिन पर baseline भरोसा करता है, जिसमें वह stub code pointer भी शामिल है जिस पर वह jump करता है।

    Exploitation योजना (प्रगति पर)

    root@kitploit:~
    orphaned ICScript (this PoC)
      -> compacting GC moves it; stale chain keeps old address
        -> reclaim the old cell with controlled bytes (size-class spray)
          -> baseline reads fake ICEntry -> fake ICStub -> fake code_ pointer
            -> jump into the WASM JIT page shellcode (f64.const immediates,
               FuncExport entry-offset overwrite — see the 2024-29943 repo)
    

    पूरा weaponization log research/README.md में देखें। वर्तमान स्थिति का सारांश:

    • यह bug एक malloc'd (TrailingArray) ICScript पर use-after-move है — सिद्धांत रूप में size-classed buffers के साथ spray-reclaimable।
    • free और use अंतिम new Ctor(flag) call के अंदर microseconds के अंतर पर होते हैं, उनके बीच कोई JS callback point नहीं होता; naive sprays या तो window miss कर देते हैं (reclaim1/2) या zeal GC storm से IC state को churn कर देते हैं (reclaim3)। stale chain एक plain gc() (purge_check) को जीवित रहती है।
    • अगला कदम gdb के अंतर्गत engine-allocation analysis है (free और use के बीच कौन-से allocations freed cell में आते हैं)। gdb OrbStack के x86 emulation के अंतर्गत काम नहीं करता, इसलिए इसके लिए native Linux x86-64 box चाहिए।

    WASM stage स्वयं पहले से बना और demonstrated है CVE-2024-29943-but-with-wasm में; इस FF149-era build के लिए केवल object-model offsets को फिर से निकालने की आवश्यकता है।

    फ़ाइलें

    • poc.js — Mozilla का regression test (bug 2013583), जो ऊपर दिखाए अनुसार 2026-01-15 ASAN jsshell को crash करने के लिए verified है।

    संदर्भ

    • Advisory: MFSA 2026-13 (Firefox 148)
    • Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=2013583 (restricted)
    • Test landing: hg 457b68097f81
    • Sibling chains: https://github.com/SneakyNachos/CVE-2024-29943-but-with-wasm और https://github.com/SneakyNachos/CVE-2026-2764-but-with-wasm
    • Technique origin: https://github.com/SneakyNachos/WasmBlazeFox
    टूल डाउनलोड करें