WebKit/iOS 26.2:基于整数溢出的Gigacage边界违规导致越界访问
好的,我现在需要帮用户总结这篇文章的内容,控制在100个字以内。首先,我得仔细阅读文章,抓住主要信息。 文章标题是关于WebKit JSC的整数溢出漏洞,导致越界写入。作者Joseph Goydish II在邮件列表中披露了这个漏洞。漏洞存在于JavaScriptCore引擎中,涉及ArrayBuffer、TypedArray和WebAssembly的内存偏移计算。 技术分析部分提到,当索引乘以元素大小时,在32位边界处发生溢出,导致初始边界检查通过,但加上Gigacage基指针后超出16GB边界,触发保护机制。攻击者可能利用此漏洞进行远程代码执行。 修复建议是在相关代码中使用带符号算术检查。环境细节显示影响iOS 26.2版本。用户可能需要快速了解漏洞的影响和修复方法。 总结时要包含关键点:WebKit JSC整数溢出、越界写入、Gigacage缓解、iOS 26.2受影响、修复建议以及潜在的远程代码执行风险。 </think> WebKit JavaScriptCore (JSC) 存在整数溢出漏洞,导致越界写入。该漏洞影响 iOS 26.2 的 ArrayBuffer、TypedArray 和 WebAssembly。攻击者可能利用此漏洞进行远程代码执行。修复建议包括在内存偏移计算中使用带符号算术检查。 2025-12-26 22:43:0 Author: seclists.org(查看原文) 阅读量:5 收藏

oss-sec logo

oss-sec mailing list archives


From: Joseph Goydish II <newt0ns_law () proton me>
Date: Fri, 26 Dec 2025 21:57:26 +0000

[CVE Pending] WebKit JSC Integer Overflow – OOB Write via Gigacage (iOS 26.2)
--------------------------------------------------------------------Full advisory, PoC, and logs:
[https://github.com/JGoyd/0day-GigaCage-Webkit]
--------------------------------------------------------------------
1. Executive Summary

A critical vulnerability exists in the WebKit JavaScriptCore (JSC)
engine. Integer overflow in memory offset calculations for
ArrayBuffer, TypedArray, and WebAssembly enables out-of-bounds
(OOB) memory access. Gigacage currently mitigates this via process
termination, but the underlying logic flaw could be used for remote
code execution if combined with a mitigation bypass.

--------------------------------------------------------------------
2. Environment Details

OS: iOS 26.2 (Build 23C55)
WebKit: 8623.1.14.10.9
Crash: EXC_GUARD (Namespace 31: Gigacage Primitive Partition)
Offset: 0xADD7476C
Device: iPhone 15,3 (iPhone 14 Pro Max)
UUID: af25fa78-ae3e-3bf4-b320-4404d3a36a77

--------------------------------------------------------------------
3. Technical Analysis (CWE-190)

Vulnerability occurs during offset calculation for TypedArray and
DataView. If 'index * elementSize' wraps at the 32-bit boundary, the
overflowed value can pass initial bounds checks. When added to the
Gigacage base pointer, this can exceed the 16GB boundary, triggering
a guard violation.

The flaw is also reachable via the WebAssembly JIT, which may elide
bounds checks; wraparound in 32-bit arithmetic permits unsanitized
JITed memory access.

--------------------------------------------------------------------
4. Proof of Concept (PoC)

JavaScript (DataView vector):

const buffer = new ArrayBuffer(1024);
const view = new DataView(buffer);
// 0xFFFFFFFE + 4 wraps at 32-bits
view.setUint32(0xFFFFFFFE, 0x41414141);

WebAssembly (JIT vector):

;; (i32.add (i32.const 0xFFFFFFFF) (i32.const 0x5)) wraps to 0x4
(i32.load offset=0)

Reproduction Steps:

1. Host PoC HTML on HTTPS server.
2. Access with Mobile Safari on iOS 26.2.
3. Observe termination of WebContent process.
4. Confirm offset 0xADD7476C in crash log.

--------------------------------------------------------------------
5. Remediation

Implement checked arithmetic in the following components:

- Source/JavaScriptCore/runtime/JSArrayBufferView.cpp
- Source/JavaScriptCore/runtime/JSDataView.cpp

Proposed fix:

size_t byteOffset;
if (__builtin_mul_overflow(static_cast<size_t>(index),
m_elementSize, &byteOffset)) {
return throwOverflowError();
}

--------------------------------------------------------------------
6. Supporting Evidence

Consistent crash offset and namespace 31 violation found in:

ExcUserFault_MobileSafari-2025-12-25-131432.ips
ExcUserFault_SafariViewService-2025-12-25-062945.ips

--------------------------------------------------------------------
7. Disclosure

Apple Security is being notified at the same time as this public
mailing list post, as they are CC'd on this email. This is not a
coordinated disclosure; notification to Apple and the broadercommunity is occurring simultaneously.
--------------------------------------------------------------------
8. Legal Disclaimer

Provided for authorized security research only.
Unauthorized use is prohibited and may be unlawful.

--------------------------------------------------------------------

Thank you,
Joseph Goydish II

Current thread:

  • [Advisory] WebKit/iOS 26.2: Gigacage Boundary Violation via Logic Flaw enabling OOB Access Joseph Goydish II (Dec 26)

文章来源: https://seclists.org/oss-sec/2025/q4/292
如有侵权请联系:admin#unsafe.sh