Released February 11, 2026

CVE-2026-20644

CVSS 6.5 severity medium CWE-119CWE-416CWE-787CWE-120 vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

Overview

Impact:

Description: Processing maliciously crafted web content may lead to an unexpected process crash

Researchers: HanQing from TSDubhe and Nan Wang (@eternalsakura13)

Key insight. The bug is an architecture-portability defect in the Wasm tail-call prologue: scratch-register spill/frame-clobber logic written for x86_64’s aliasing scratch register was applied unchanged on other CPUs that need a frame restore and different guarantees instead, and the fix cleanly separates the x86_64 and non-x86_64 code paths and adds a proper emitRestore plus aliasing assertions.

Patch Details

diff --git a/JSTests/wasm/stress/omg-tail-call-clobber-scratch-register-2.js b/JSTests/wasm/stress/omg-tail-call-clobber-scratch-register-2.js
new file mode 100644
index 000000000000..74e1bc756ff4
--- /dev/null
+++ b/JSTests/wasm/stress/omg-tail-call-clobber-scratch-register-2.js
@@ -0,0 +1,44 @@
+//@ runDefault("--useDollarVM=1", "--watchdog-exception-ok", "--watchdog=1000", "--useConcurrentJIT=0")
+function instantiate(moduleBase64, importObject) {
+    let bytes = Uint8Array.fromBase64(moduleBase64);
+    return WebAssembly.instantiate(bytes, importObject);
+  }
+  const isJIT = callerIsBBQOrOMGCompiled;
+const extra = {isJIT};
+(async function () {
+let memory0 = new WebAssembly.Memory({initial: 3885, shared: false, maximum: 7500});
+let fn0 = function () {
+};
+let fn1 = function () {
+};
+let fn2 = function () {
+};
+let fn3 = function () {
+return [265n, 1751n];
+};
+let tag0 = new WebAssembly.Tag({parameters: []});
+let global0 = new WebAssembly.Global({value: 'i32', mutable: true}, 1052640852);
+let global1 = new WebAssembly.Global({value: 'f64', mutable: true}, 533559.2198645367);
+let global2 = new WebAssembly.Global({value: 'anyfunc', mutable: true}, null);
+let global3 = new WebAssembly.Global({value: 'anyfunc', mutable: true}, global2.value);
+let global4 = new WebAssembly.Global({value: 'i64', mutable: true}, 1379923706n);
+let table0 = new WebAssembly.Table({initial: 45, element: 'externref'});
+let table1 = new WebAssembly.Table({initial: 12, element: 'anyfunc'});
+let table2 = new WebAssembly.Table({initial: 58, element: 'externref', maximum: 324});
+let table3 = new WebAssembly.Table({initial: 25, element: 'anyfunc'});
+let table4 = new WebAssembly.Table({initial: 44, element: 'anyfunc', maximum: 429});
+let m0 = {fn1, fn2, fn3, global2, memory0, table0, table2, table3};
+let m2 = {fn0, global1, global3, global4, tag0, tag1: tag0};
+let m1 = {global0, table1, table4};
+let importObject0 = /** @type {Imports2} */ ({extra, m0, m1, m2});
+let i0 = await instantiate('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', importObject0);
+let {fn4, fn5, fn6, global5, global6, global7, global8, global9, global10, global11, global12, global13, global14, global15, global16, memory1, table5, table6, table7} = /**
+  }} */ (i0.instance.exports);
+try {
+  for (let k=0; k<5; k++) {
+  let zzz = fn5();
+  }
+} catch (e) {
+}
+})().then(() => {
+})
diff --git a/Source/JavaScriptCore/wasm/WasmBBQJIT.cpp b/Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
index 5ecbe01f0394..998815f6bcfb 100644
--- a/Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
+++ b/Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
@@ -2980,8 +2980,15 @@ PartialResult BBQJIT::addI32Extend8S(Value operand, Value& result)
             } else {
                 bool signBit = std::bit_cast<uint32_t>(rhs.asF32()) & 0x80000000u;
                 m_jit.absFloat(lhsLocation.asFPR(), resultLocation.asFPR());
-                if (signBit)
+                if (signBit) {
+#if CPU(X86_64)
+                    m_jit.moveFloatTo32(resultLocation.asFPR(), wasmScratchGPR);
+                    m_jit.xor32(TrustedImm32(std::bit_cast<uint32_t>(static_cast<float>(-0.0))), wasmScratchGPR);
+                    m_jit.move32ToFloat(wasmScratchGPR, resultLocation.asFPR());
+#else
                     m_jit.negateFloat(resultLocation.asFPR(), resultLocation.asFPR());
+#endif
+                }
             }
         )
     )
diff --git a/Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp b/Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp
index 0b11bd4ee903..0f5b27f94fef 100644
--- a/Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp
+++ b/Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp
@@ -5343,10 +5343,14 @@ static inline void prepareForTailCallImpl(unsigned functionIndex, CCallHelpers&
 
     RegisterAtOffsetList calleeSaves = params.code().calleeSaveRegisterAtOffsetList();
 
-    // Be careful not to clobber this below.
-    // We also need to make sure that we preserve this if it is used by the patchpoint body.
     AllowMacroScratchRegisterUsage allowScratch(jit);
     auto tmp = jit.scratchRegister();
+
+#if CPU(X86_64)
+    // On x64, the scratch register may alias one of the inputs and needs special saving.
+    //
+    // Be careful not to clobber this below.
+    // We also need to make sure that we preserve this if it is used by the patchpoint body.
     bool tmpNeedsSaving = false;
     int tmpSpillOffsetRelativeToOriginalSP = 0;
 
@@ -5378,6 +5382,30 @@ static inline void prepareForTailCallImpl(unsigned functionIndex, CCallHelpers&
         tmpSpillOffsetRelativeToOriginalSP = allocateSpill(WidthPtr);
         jit.storePtr(tmp, CCallHelpers::Address(MacroAssembler::stackPointerRegister, tmpSpillOffsetRelativeToOriginalSP));
     }
+#else
+    constexpr bool tmpNeedsSaving = false;
+    constexpr int tmpSpillOffsetRelativeToOriginalSP = 0;
+
+    // Set up a valid frame so that we can clobber this one.
+    jit.emitRestore(calleeSaves);
+
+#if ASSERT_ENABLED
+    for (unsigned i = 0; i < params.size(); ++i) {
+        auto arg = params[i];
+        if (arg.isGPR()) {
+            ASSERT(!calleeSaves.find(arg.gpr()));
+            ASSERT(arg.gpr() != tmp);
+            continue;
+        }
+        if (arg.isFPR()) {
+            ASSERT(!calleeSaves.find(arg.fpr()));
+            continue;
+        }
+    }
+
+    ASSERT(!calleeSaves.find(tmp));
+#endif // ASSERT_ENABLED
+#endif // CPU(X86_64)
 
 #if ASSERT_ENABLED
     // Let's make sure we never rely on these slots, so we can use them for scratch in the future.
@@ -5508,7 +5536,7 @@ static inline void prepareForTailCallImpl(unsigned functionIndex, CCallHelpers&
             continue;
         }
 
-        auto saveSrc = [tmp, tmpNeedsSaving, tmpSpillOffsetRelativeToOriginalSP, dstType, &allocateSpill, &jit, &fpOffsetToSPOffset](ValueRep src) -> std::tuple<int, Width> {
+        auto saveSrc = [=, &allocateSpill, &jit, &fpOffsetToSPOffset](ValueRep src) -> std::tuple<int, Width> {
             int srcOffset = 0;
             if (tmpNeedsSaving && src.isGPR() && src.gpr() == tmp) {
                 // Before tmp may have been clobbered, it was spilled to tmpSpill.
@@ -5645,9 +5673,11 @@ static inline void prepareForTailCallImpl(unsigned functionIndex, CCallHelpers&
     if (tmpNeedsSaving)
         jit.loadPtr(CCallHelpers::Address(MacroAssembler::stackPointerRegister, tmpSpillOffsetRelativeToOriginalSP), tmp);
 
-    // Nothing after restoring tmp can use the scratch register since it might clobber an input.
     {
+#if CPU(X86_64)
+        // On x64, nothing after restoring tmp can use the scratch register since it might clobber an input.
         DisallowMacroScratchRegisterUsage disallowScratch(jit);
+#endif
 
         jit.addPtr(MacroAssembler::TrustedImm32(newSPAtPrologueOffsetFromSP), MacroAssembler::stackPointerRegister);
 

Background

Advisory: Apple Security Advisory

Attribute Value
CVE CVE-2026-20644
Bugzilla 303444
Component JSC
Bug Class TypeConfusion
Severity medium
Commit 4572dd488e4eb6e0…
Advisory Apple Advisory

Terminology

  • OMG JIT — JavaScriptCore’s Optimizing (highest-tier) WebAssembly compiler; BBQ is the lower baseline Wasm tier, both of which emit native code that must respect calling conventions and register usage.
  • Wasm tail call — A return_call/return_call_indirect that reuses the caller’s frame for the callee, requiring the JIT to shuffle arguments over the existing frame and jump rather than call, which is where prepareForTailCallImpl operates.
  • MacroAssembler scratch register — A temporary register the assembler is allowed to use (jit.scratchRegister()); its identity and aliasing behavior differ by architecture, e.g. it can overlap argument registers on x86_64 but is a dedicated temp on ARM64.
  • AllowMacroScratchRegisterUsage / DisallowMacroScratchRegisterUsage — RAII guards that permit or forbid the assembler from using the scratch register in a code region, used to prevent scratch use from clobbering live inputs.
  • calleeSaveRegisterAtOffsetList / emitRestore — The set of callee-saved registers and their spill offsets for the compiled function; emitRestore(calleeSaves) reloads them to establish a valid frame before the current one is clobbered for the tail call.

Root Cause Analysis

This commit fixes architecture-specific scratch-register handling in the WebAssembly JITs. The central change is in WasmOMGIRGenerator.cpp’s prepareForTailCallImpl(), the code emitted to set up a WebAssembly tail call: it must shuffle the callee’s arguments into place over the current frame and then jump, which requires a scratch register (auto tmp = jit.scratchRegister()). The original code handled the scratch register with logic that is only correct for x86_64: on x64 the MacroAssembler scratch register is a general-purpose register that can alias one of the incoming argument registers, so it may need to be spilled to a stack slot (tmpNeedsSaving / tmpSpillOffsetRelativeToOriginalSP) before being clobbered and reloaded afterward, and after reloading it the code wraps the tail of the sequence in DisallowMacroScratchRegisterUsage because further scratch use could clobber an input. Applying this x64-shaped logic on other architectures (e.g. ARM64, where the assembler scratch is a dedicated data-temp that never aliases wasm argument or callee-save registers) was both unnecessary and unsound: the non-x64 path lacked the frame-restore step needed before the current frame is clobbered. The patch conditionalizes the spilling logic behind #if CPU(X86_64); on the #else path it instead sets tmpNeedsSaving to a constexpr false, calls jit.emitRestore(calleeSaves) to ‘set up a valid frame so that we can clobber this one,’ and (under ASSERT_ENABLED) adds assertions that the scratch tmp never equals any argument GPR/FPR and is never a callee-save register. The DisallowMacroScratchRegisterUsage guard at the end is likewise restricted to x86_64. The saveSrc lambda’s capture list is changed from an explicit list to [=] so it compiles under both the runtime-bool (x64) and constexpr (non-x64) forms of tmpNeedsSaving/tmpSpillOffsetRelativeToOriginalSP. The second file, WasmBBQJIT.cpp, contains a related x86_64 scratch fix in a constant-operand float shaping branch (the diff’s nearest label is addI32Extend8S but the body does absFloat then a conditional sign flip): on x86_64 the sign negation is now done by moving the float to wasmScratchGPR, xor32 with the 0x80000000 sign bit, and moving back, instead of MacroAssembler negateFloat. The precise way the pre-fix non-x64 tail-call code corrupted state (which register got clobbered, and whether it led to memory corruption versus a controlled trap) is not spelled out in the diff, so that mechanism is an inference; what the diff establishes is that the scratch/frame handling was arch-incorrect off x86_64 and is now split per-CPU with a proper frame restore and debug asserts. The fuzzer-generated JSTests case (a large tail-call-heavy Wasm module invoked via fn5() under a watchdog) is the regression reproducer.

Attack Path

1. Deliver a crafted Wasm module

Serve web content that instantiates an attacker-authored WebAssembly module (as the test does via WebAssembly.instantiate of a base64 blob) containing functions that use return_call / return_call_indirect tail calls with argument layouts chosen to exercise the scratch-register/frame setup.

2. Force OMG (or BBQ) compilation

Invoke the tail-calling exports repeatedly (the test loops calling fn5()) so the affected function tiers up into the OMG optimizing JIT and prepareForTailCallImpl emits the buggy per-arch sequence on the target CPU.

3. Trigger the arch-specific miscompile

On a non-x86_64 target (e.g. Apple silicon/ARM64), the tail-call prologue clobbers the current frame without the frame restore the fix adds, or mishandles the scratch register, producing incorrect machine code during the argument shuffle.

4. Reach corrupted state

Executing the miscompiled tail call yields wrong register/stack contents; in the reproducer this surfaces as an unexpected process crash (guarded by the watchdog). Escalation beyond a crash is inference, not shown by the diff.

Impact Assessment

Classified LogicError / medium, the demonstrated effect is an unexpected crash of the WebContent (renderer) process, reachable from unprivileged web content that merely instantiates and calls a crafted Wasm module with tail calls, and it is architecture-dependent (the non-x86_64 path is the one being corrected). A JIT that clobbers the current frame or a live input register during a tail-call shuffle is in principle a strong corruption primitive (attacker-influenced values landing in wrong registers/stack slots), so escalation from crash toward controlled memory corruption is conceivable but is inference; the commit and reproducer only establish a crash. Impact is contained to the WebContent sandbox with no indicated sandbox escape.

Audit Directions

Rest of prepareForTailCallImpl and tail-call codegen

Review the whole prepareForTailCallImpl and its callers in WasmOMGIRGenerator.cpp for any remaining assumption that jit.scratchRegister() may/mustn’t alias inputs or that the frame is valid; grep for ‘scratchRegister’, ’tmpNeedsSaving’, ’emitRestore’, ‘AllowMacroScratchRegisterUsage’, and ‘DisallowMacroScratchRegisterUsage’.

BBQ/OMG float sign/negate on x86_64

Check other float operations that use negateFloat/absFloat around constant operands in WasmBBQJIT.cpp and WasmOMGIRGenerator.cpp for the same x64 issue the sign-flip fix addresses; grep for ’negateFloat’, ‘absFloat’, ‘moveFloatTo32’, and ‘0x80000000’.

Other #if CPU(X86_64) vs generic register logic in Wasm JITs

Look for register-allocation or spill code in the Wasm JITs that lacks per-CPU guards yet relies on x86_64-specific scratch/argument aliasing; grep across Source/JavaScriptCore/wasm for ‘CPU(X86_64)’, ‘wasmScratchGPR’, ‘scratchRegister’, and calleeSave handling to find un-conditionalized siblings.

Cross-arch JIT scratch assumptions repo-wide

Search the broader assembler/JIT for places assuming the macro scratch register never (or always) aliases call arguments; grep for ‘scratchRegister()’ together with argument-shuffle or ValueRep/params loops in FTL and Wasm code, prioritizing ARM64-only or RISC paths.

Changed Functions

Function File Change Note
prepareForTailCallImpl Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp modified Splits scratch-register handling by CPU: keeps the x86_64 tmp-spill/reload logic under #if CPU(X86_64), and on other arches uses constexpr tmpNeedsSaving=false, emits jit.emitRestore(calleeSaves) to build a valid frame before clobbering, and adds ASSERTs that the scratch never aliases args or callee-saves; also limits the trailing DisallowMacroScratchRegisterUsage to x86_64.
saveSrc lambda (inside prepareForTailCallImpl) Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp modified Capture list changed from an explicit [tmp, tmpNeedsSaving, …] to [=] so it builds whether tmpNeedsSaving/tmpSpillOffset are runtime (x64) or constexpr (non-x64).
BBQJIT float shaping branch (diff label addI32Extend8S; constant-operand abs/negate path) Source/JavaScriptCore/wasm/WasmBBQJIT.cpp modified On x86_64, replaces negateFloat for the sign flip with an integer path: moveFloatTo32 into wasmScratchGPR, xor32 with the float -0.0 sign bit, then move32ToFloat back; non-x64 keeps negateFloat.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
  • Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp

Test Files

  • JSTests/wasm/stress/omg-tail-call-clobber-scratch-register-2.js

Regression Test

The fix ships this proof-of-concept / regression test:

diff --git a/JSTests/wasm/stress/omg-tail-call-clobber-scratch-register-2.js b/JSTests/wasm/stress/omg-tail-call-clobber-scratch-register-2.js
new file mode 100644
index 000000000000..74e1bc756ff4
--- /dev/null
+++ b/JSTests/wasm/stress/omg-tail-call-clobber-scratch-register-2.js
@@ -0,0 +1,44 @@
+//@ runDefault("--useDollarVM=1", "--watchdog-exception-ok", "--watchdog=1000", "--useConcurrentJIT=0")
+function instantiate(moduleBase64, importObject) {
+    let bytes = Uint8Array.fromBase64(moduleBase64);
+    return WebAssembly.instantiate(bytes, importObject);
+  }
+  const isJIT = callerIsBBQOrOMGCompiled;
+const extra = {isJIT};
+(async function () {
+let memory0 = new WebAssembly.Memory({initial: 3885, shared: false, maximum: 7500});
+let fn0 = function () {
+};
+let fn1 = function () {
+};
+let fn2 = function () {
+};
+let fn3 = function () {
+return [265n, 1751n];
+};
+let tag0 = new WebAssembly.Tag({parameters: []});
+let global0 = new WebAssembly.Global({value: 'i32', mutable: true}, 1052640852);
+let global1 = new WebAssembly.Global({value: 'f64', mutable: true}, 533559.2198645367);
+let global2 = new WebAssembly.Global({value: 'anyfunc', mutable: true}, null);
+let global3 = new WebAssembly.Global({value: 'anyfunc', mutable: true}, global2.value);
+let global4 = new WebAssembly.Global({value: 'i64', mutable: true}, 1379923706n);
+let table0 = new WebAssembly.Table({initial: 45, element: 'externref'});
+let table1 = new WebAssembly.Table({initial: 12, element: 'anyfunc'});
+let table2 = new WebAssembly.Table({initial: 58, element: 'externref', maximum: 324});
+let table3 = new WebAssembly.Table({initial: 25, element: 'anyfunc'});
+let table4 = new WebAssembly.Table({initial: 44, element: 'anyfunc', maximum: 429});
+let m0 = {fn1, fn2, fn3, global2, memory0, table0, table2, table3};
+let m2 = {fn0, global1, global3, global4, tag0, tag1: tag0};
+let m1 = {global0, table1, table4};
+let importObject0 = /** @type {Imports2} */ ({extra, m0, m1, m2});
+let i0 = await instantiate('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', importObject0);
+let {fn4, fn5, fn6, global5, global6, global7, global8, global9, global10, global11, global12, global13, global14, global15, global16, memory1, table5, table6, table7} = /**
+  }} */ (i0.instance.exports);
+try {
+  for (let k=0; k<5; k++) {
+  let zzz = fn5();
+  }
+} catch (e) {
+}
+})().then(() => {
+})