Cves

CVE-2026-43794
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Dung Do (@_piers2) of Calif.io

Attribute Value
CVE CVE-2026-43794
Bugzilla 317317
Component WebKit
Bug Class LogicError
Severity medium
Commit 4a92fe2ccba1be5f…
Advisory Apple Advisory

Root Cause Analysis

A memory corruption issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebGPU/WebGPU/Queue.mm
  • Source/WebGPU/WebGPU/Queue.swift
  • Source/WebGPU/WebGPU/RenderPipeline.mm
  • Source/WebGPU/WebGPU/WebGPUExt.h
  • Source/WebKit/GPUProcess/graphics/WebGPU/RemoteQueue.cpp
CVE-2026-43795
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: wwwlk

Attribute Value
CVE CVE-2026-43795
Bugzilla 313452
Component WebCore
Bug Class LogicError
Severity medium
Commit ce11a67281dafaa7…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.cpp

Test Files

  • Tools/TestWebKitAPI/Tests/WebCore/CBORReaderTest.cpp
CVE-2026-64715
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Hossein Lotfi (@hosselot) of TrendAI Zero Day Initiative

Attribute Value
CVE CVE-2026-64715
Bugzilla 316347
Component JSC
Bug Class UAF
Severity medium
Commit 1d5c10e2f9c8f313…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/JavaScriptCore/b3/B3PureCSE.cpp
  • Source/JavaScriptCore/b3/B3PureCSE.h
  • Source/JavaScriptCore/b3/B3ReduceStrength.cpp

Test Files

  • Source/JavaScriptCore/b3/testb3.h
  • Source/JavaScriptCore/b3/testb3_1.cpp
  • Source/JavaScriptCore/b3/testb3_6.cpp
CVE-2026-64778
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a maliciously crafted website may leak sensitive data

Researchers: Mohit Negi

Attribute Value
CVE CVE-2026-64778
Bugzilla 322124
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2026-64779
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Shubham Chaskar, Tommy DeVoss from Braze Security Team (@thedawgyg)

Attribute Value
CVE CVE-2026-64779
Bugzilla 321485
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A memory corruption vulnerability was addressed with improved locking.

CVE-2026-64780
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: OpenAI Codex Security - Amy Burnett

Attribute Value
CVE CVE-2026-64780
Bugzilla 316918
Component JSC
Bug Class LogicError
Severity medium
Commit 9a17cd1100ad6cd4…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

Files Changed

Source Files

  • Source/JavaScriptCore/b3/B3Procedure.cpp
  • Source/JavaScriptCore/b3/B3Procedure.h
  • Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp

Test Files

  • JSTests/wasm/stress/inline-wasm-simd-into-non-simd.js
CVE-2026-64781
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Thomas Guillem

Attribute Value
CVE CVE-2026-64781
Bugzilla 321484
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved input validation.

CVE-2026-64782
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Seonwook Kim, Shubham Chaskar, lattice, Josef Korbel

Attribute Value
CVE CVE-2026-64782
Bugzilla 321480
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A memory corruption vulnerability was addressed with improved locking.

CVE-2026-64784
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Janggoon Lee of Out of Bounds, OpenAI Codex Security - Amy Burnett

Attribute Value
CVE CVE-2026-64784
Bugzilla 317632
Component JSC
Bug Class OOB
Severity medium
Commit 97df94ead028cddc…
Advisory Apple Advisory

Root Cause Analysis

UnlinkedMetadataTable::finalize() computed metadata buffer offsets using unchecked unsigned arithmetic. When compiling JavaScript functions with tens of millions of bytecode instructions, the cumulative offset calculation (numberOfEntries * metadataSize) overflows the 32-bit unsigned integer, wrapping to a small value. This causes a heap allocation that is far too small for the actual metadata, and all subsequent metadata reads/writes go out of bounds. The fix replaces raw unsigned arithmetic with CheckedUint32, detects the overflow before allocating, and propagates a failure boolean up through UnlinkedCodeBlockGenerator::finalize() to BytecodeGenerator::generate(), which then returns an OutOfMemory parser error instead of crashing.

CVE-2026-64787
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: 杉山 壮太, Shubham Chaskar

Attribute Value
CVE CVE-2026-64787
Bugzilla 313703
Component WebCore
Bug Class UAF
Severity medium
Commit cb83583e5f4d9553…
Advisory Apple Advisory

Root Cause Analysis

trustedTypeCompliantString executes arbitrary JavaScript via Trusted Types policy callbacks. The callers in Document::parseHTMLUnsafe, Document::write, and Document::execCommand passed a raw Document* from contextDocument() without protecting its lifetime. If the policy callback manipulates the DOM — adopting nodes, removing iframes, or triggering GC — the Document can be freed while trustedTypeCompliantString still holds and later dereferences the dangling pointer. The fix wraps contextDocument() with protect() to create a strong reference that keeps the Document alive for the entire duration of the trustedTypeCompliantString call.

CVE-2026-65331
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: OpenAI Codex Security - Amy Burnett

Attribute Value
CVE CVE-2026-65331
Bugzilla 317611
Component JSC
Bug Class LogicError
Severity medium
Commit 03a07e4200891271…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGIntegerRangeOptimizationPhase.cpp

Test Files

  • JSTests/stress/arith-abs-checked-input-range.js
CVE-2026-65332
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: OpenAI Codex Security - Amy Burnett

Attribute Value
CVE CVE-2026-65332
Bugzilla 317450
Component JSC
Bug Class LogicError
Severity medium
Commit 8f229fb72961093d…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmFunctionParser.h

Test Files

  • JSTests/wasm/regress/try-catch-result-type.js
CVE-2026-65333
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: OpenAI Codex Security - Amy Burnett

Attribute Value
CVE CVE-2026-65333
Bugzilla 317603
Component JSC
Bug Class LogicError
Severity medium
Commit 7d867192b7ab40a0…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/b3/B3Procedure.h
  • Source/WTF/wtf/BackwardsGraph.h

Test Files

  • JSTests/wasm/gc/backwards-graph-multi-backedge-licm.js
  • Source/JavaScriptCore/b3/testb3.h
  • Source/JavaScriptCore/b3/testb3_1.cpp
  • Source/JavaScriptCore/b3/testb3_7.cpp
CVE-2026-65334
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: OpenAI Codex Security - Amy Burnett

Attribute Value
CVE CVE-2026-65334
Bugzilla 316791
Component JSC
Bug Class LogicError
Severity medium
Commit 9f07374e9eb2398e…
Advisory Apple Advisory

Root Cause Analysis

A memory corruption issue was addressed with improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/b3/B3ReduceStrength.cpp
  • Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp

Test Files

  • JSTests/wasm/stress/omg-reduce-strength-select-exception-stackmap.js
CVE-2026-65335
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: OpenAI Codex Security - Amy Burnett

Attribute Value
CVE CVE-2026-65335
Bugzilla 316723
Component JSC
Bug Class LogicError
Severity medium
Commit d74d692503fce0f3…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp
  • Source/JavaScriptCore/runtime/RegExp.cpp
  • Source/JavaScriptCore/runtime/RegExp.h
  • Source/JavaScriptCore/runtime/RegExpCache.cpp

Test Files

  • JSTests/stress/new-regexp-untyped-soft-invalid-stale-captures.js
CVE-2026-65336
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Josef Korbel

Attribute Value
CVE CVE-2026-65336
Bugzilla 317349
Component JSC
Bug Class LogicError
Severity medium
Commit 5b76326e8fc95ec2…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/llint/InPlaceInterpreter64.asm
  • Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp
  • Source/JavaScriptCore/wasm/WasmIPIntGenerator.h

Test Files

  • JSTests/wasm/stress/br-on-cast-fail-overlong-leb128.js
  • JSTests/wasm/stress/br-on-cast-overlong-leb128.js
CVE-2026-65337
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: OpenAI Codex Security - Amy Burnett

Attribute Value
CVE CVE-2026-65337
Bugzilla 317142
Component JSC
Bug Class LogicError
Severity medium
Commit 7920db18a51b134b…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/bytecode/RepatchInlines.h
  • Source/JavaScriptCore/jit/JITOperations.cpp
  • Source/JavaScriptCore/llint/LLIntSlowPaths.cpp

Test Files

  • JSTests/stress/operation-polymorphic-call-host-call-ic-reset.js
CVE-2026-65338
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: OpenAI Codex Security - Amy Burnett

Attribute Value
CVE CVE-2026-65338
Bugzilla 318348
Component JSC
Bug Class LogicError
Severity medium
Commit 26aa84fcd527016d…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp
  • Source/JavaScriptCore/dfg/DFGCombinedLiveness.cpp
  • Source/JavaScriptCore/dfg/DFGCombinedLiveness.h
  • Source/JavaScriptCore/dfg/DFGForAllKills.h
  • Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp

Test Files

  • JSTests/stress/arguments-elimination-inlined-load-varargs-preserves-recoveries.js
  • JSTests/stress/arguments-elimination-load-varargs-kills-promoted-recoveries.js

Patch Preview

diff --git a/JSTests/stress/arguments-elimination-inlined-load-varargs-preserves-recoveries.js b/JSTests/stress/arguments-elimination-inlined-load-varargs-preserves-recoveries.js
new file mode 100644
index 000000000000..6a9e21ffb290
--- /dev/null
+++ b/JSTests/stress/arguments-elimination-inlined-load-varargs-preserves-recoveries.js
@@ -0,0 +1,84 @@
+//@ runDefault("--thresholdForJITAfterWarmUp=10", "--thresholdForFTLOptimizeAfterWarmUp=1000", "--useConcurrentJIT=false", "--validateFTLOSRExitLiveness=true")
+
+"use strict";
+
+function shouldBe(actual, expected)
+{
+    if (actual !== expected)
+        throw new Error("bad value: " + actual + ", expected: " + expected);
+}
+
+function five(values1, values2)
+{
+    let result = null;
+    for (let i = 0; i < 5; ++i) {
+        function arg() { "use strict"; return arguments; }
+        const a = arg.apply(undefined, values1);
+        const b = arg.apply(undefined, values2);
+        try {
+            (3881)(b);
+        } catch (error) {
+            a.toString();
+            result = a;
+        }
+    }
+    return result;
+}
+
+function eight(values1, values2)
+{
+    let result = null;
+    for (let i = 0; i < 5; ++i) {
+        function arg() { "use strict"; return arguments; }
+        const a = arg.apply(undefined, values1);
+        const b = arg.apply(undefined, values2);
+        try {
+            (3881)(b);
+        } catch (error) {
+            a.toString();
+            result = a;
+        }
+    }
+    return result;
+}
+
+function filled(length, value)
+{
+    const result = [];
+    for (let i = 0; i < length; ++i)
+        result.push(value);
+    return result;
+}
+
+const fiveMarker = { marker: "five" };
+const eightMarker = { marker: "eight" };
+const seedArray = [{ marker: "seed" }, 1, 2, 3, 4, 5];
+
+const firstFive = filled(5, fiveMarker);
+const overwriteFive = filled(30, fiveMarker);
+overwriteFive[22] = 9;
+
+const firstEight = filled(8, eightMarker);
+const overwriteEight = filled(30, eightMarker);
+overwriteEight[20] = 9;
+
+for (let i = 0; i < testLoopCount; ++i) {
+    five(firstFive, overwriteFive);
+    eight(firstEight, overwriteEight);
+}
+
+const seedValues = filled(30, seedArray);
+seedValues[20] = 9;
+for (let i = 0; i < testLoopCount; ++i)
+    eight(firstEight, seedValues);
+
+const recoveredEight = eight(firstEight, seedValues);
+shouldBe(recoveredEight.length, firstEight.length);
+for (let i = 0; i < firstEight.length; ++i)
+    shouldBe(recoveredEight[i], eightMarker);
+
+const recoveredFive = five(firstFive, overwriteFive);
+shouldBe(recoveredFive.length, firstFive.length);
+for (let i = 0; i < firstFive.length; ++i)
+    shouldBe(recoveredFive[i], fiveMarker);
+shouldBe(recoveredFive[5], undefined);
diff --git a/JSTests/stress/arguments-elimination-load-varargs-kills-promoted-recoveries.js b/JSTests/stress/arguments-elimination-load-varargs-kills-promoted-recoveries.js
new file mode 100644
index 000000000000..aa818cb6d313
--- /dev/null
+++ b/JSTests/stress/arguments-elimination-load-varargs-kills-promoted-recoveries.js
@@ -0,0 +1,88 @@
+//@ runDefault("--thresholdForJITAfterWarmUp=10", "--thresholdForFTLOptimizeAfterWarmUp=1000", "--useConcurrentJIT=false")
+
+"use strict";
+
+function shouldBe(actual, expected)
+{
+    if (actual !== expected)
+        throw new Error("bad value: " + actual + ", expected: " + expected);
+}
+noInline(shouldBe);
+
+function five(values1, values2)
+{
+    let result = null;
+    for (let i = 0; i < 5; ++i) {
+        function arg() { "use strict"; return arguments; }
+        const a = arg.apply(undefined, values1);
+        const b = arg.apply(undefined, values2);
+        try {
+            (3881)(b);
+        } catch (error) {
+            a.toString();
+            result = a;
+        }
+    }
+    return result;
+}
+noInline(five);
+
+function eight(values1, values2)
+{
+    let result = null;
+    for (let i = 0; i < 5; ++i) {
+        function arg() { "use strict"; return arguments; }
+        const a = arg.apply(undefined, values1);
+        const b = arg.apply(undefined, values2);
+        try {
+            (3881)(b);
+        } catch (error) {
+            a.toString();
+            result = a;
+        }
+    }
+    return result;
+}
+noInline(eight);
+
+function filled(length, value)
+{
+    const result = [];
+    for (let i = 0; i < length; ++i)
+        result.push(value);
+    return result;
+}
+noInline(filled);
+
+const fiveMarker = { marker: "five" };
+const eightMarker = { marker: "eight" };
+const seedArray = [{ marker: "seed" }, 1, 2, 3, 4, 5];
+
+const firstFive = filled(5, fiveMarker);
+const overwriteFive = filled(30, fiveMarker);
+overwriteFive[22] = 9;
+
+const firstEight = filled(8, eightMarker);
+const overwriteEight = filled(30, eightMarker);
+overwriteEight[20] = 9;
+
+for (let i = 0; i < testLoopCount; ++i) {
+    five(firstFive, overwriteFive);
+    eight(firstEight, overwriteEight);
+}
+
+const seedValues = filled(30, seedArray);
+seedValues[20] = 9;
+for (let i = 0; i < testLoopCount; ++i)
+    eight(firstEight, seedValues);
+
+const recoveredEight = eight(firstEight, seedValues);
+shouldBe(recoveredEight.length, firstEight.length);
+for (let i = 0; i < firstEight.length; ++i)
+    shouldBe(recoveredEight[i], eightMarker);
+
+const recoveredFive = five(firstFive, overwriteFive);
+shouldBe(recoveredFive.length, firstFive.length);
+for (let i = 0; i < firstFive.length; ++i)
+    shouldBe(recoveredFive[i], fiveMarker);
+shouldBe(recoveredFive[5], undefined);
diff --git a/Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp b/Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp
index b90a0b9649cf..52567cea948e 100644
--- a/Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp
+++ b/Source/JavaScriptCore/dfg/DFGArgumentsEliminationPhase.cpp
@@ -33,6 +33,7 @@
 #include "DFGArgumentsUtilities.h"
 #include <wtf/IndexMap.h>
 #include "DFGClobberize.h"
+#include "DFGCombinedLiveness.h"
 #include "DFGForAllKills.h"
 #include "DFGGraph.h"
 #include "DFGInsertionSet.h"
@@ -722,7 +723,16 @@ class ArgumentsEliminationPhase : public Phase {
             }
 
             if (clobberStack) {
CVE-2026-65340
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Claudio Bozzato and Francesco Benvenuto of Cisco Talos, Josef Korbel (Citadelo)

Attribute Value
CVE CVE-2026-65340
Bugzilla 316996
Component JSC
Bug Class LogicError
Severity medium
Commit 30b9a27b47e842c4…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/RegExpMatchesArray.h
  • Source/JavaScriptCore/yarr/YarrJIT.cpp

Test Files

  • JSTests/stress/yarr-jit-non-bmp-backtrack-index-overflow.js
  • JSTests/stress/yarr-jit-non-bmp-backtrack-index-underflow.js

Patch Preview

diff --git a/JSTests/stress/yarr-jit-non-bmp-backtrack-index-overflow.js b/JSTests/stress/yarr-jit-non-bmp-backtrack-index-overflow.js
new file mode 100644
index 000000000000..8657a02fb82c
--- /dev/null
+++ b/JSTests/stress/yarr-jit-non-bmp-backtrack-index-overflow.js
@@ -0,0 +1,12 @@
+const re = /d\0e?|\u{10000}c/u;
+const subj = "\u{10000}d";
+const m = re.exec(subj);
+
+if (m !== null) {
+    throw new Error(
+        "expected null, got match=" + JSON.stringify(m[0]) +
+        " at index=" + m.index +
+        " (m.index + m[0].length = " + (m.index + m[0].length) +
+        " > subj.length = " + subj.length + ")"
+    );
+}
diff --git a/JSTests/stress/yarr-jit-non-bmp-backtrack-index-underflow.js b/JSTests/stress/yarr-jit-non-bmp-backtrack-index-underflow.js
new file mode 100644
index 000000000000..52fb0bbf4021
--- /dev/null
+++ b/JSTests/stress/yarr-jit-non-bmp-backtrack-index-underflow.js
@@ -0,0 +1,5 @@
+const re = /(?!\u{10000})a*|\u{10000}b/u;
+const subj = "\u{10000}cc";
+const m = re.exec(subj);
+if (m[0].length > subj.length)
+    throw new Error("m[0].length (" + m[0].length + ") > subj.length (" + subj.length + ")");
diff --git a/Source/JavaScriptCore/runtime/RegExpMatchesArray.h b/Source/JavaScriptCore/runtime/RegExpMatchesArray.h
index 4d5d2304e1d1..4d46a7f017f8 100644
--- a/Source/JavaScriptCore/runtime/RegExpMatchesArray.h
+++ b/Source/JavaScriptCore/runtime/RegExpMatchesArray.h
@@ -76,7 +76,8 @@ ALWAYS_INLINE JSArray* createRegExpMatchesArray(
 
     result.start = position;
     result.end = subpatternResults[1];
-    
+    RELEASE_ASSERT(result.end >= result.start);
+
     JSArray* array;
     JSArray* indicesArray = nullptr;
 
diff --git a/Source/JavaScriptCore/yarr/YarrJIT.cpp b/Source/JavaScriptCore/yarr/YarrJIT.cpp
index d5dc7005cc4d..90ead5391420 100644
--- a/Source/JavaScriptCore/yarr/YarrJIT.cpp
+++ b/Source/JavaScriptCore/yarr/YarrJIT.cpp
@@ -3925,9 +3925,19 @@ class YarrGenerator final : public YarrJITInfo {
                             // already correctly incremented, if more than one then decrement as appropriate.
                             unsigned delta = alternative->m_minimumSize - beginOp->m_alternative->m_minimumSize;
                             ASSERT(delta);
+                            bool advancedIndexForNonBMP = false;
+#if ENABLE(YARR_JIT_UNICODE_EXPRESSIONS) && ENABLE(YARR_JIT_UNICODE_CAN_INCREMENT_INDEX_FOR_NON_BMP)
+                            if (m_useFirstNonBMPCharacterOptimization) {
+                                m_jit.add32(m_regs.firstCharacterAdditionalReadSize, m_regs.index);
+                                advancedIndexForNonBMP = true;
+                            }
+#endif
                             if (delta != 1)
                                 m_jit.sub32(MacroAssembler::Imm32(delta - 1), m_regs.index);
-                            m_jit.jump(beginOp->m_reentry);
+                            if (advancedIndexForNonBMP)
+                                checkInput().linkTo(beginOp->m_reentry, &m_jit);
+                            else
+                                m_jit.jump(beginOp->m_reentry);
                         } else {
                             // If the first alternative has minimum size 0xFFFFFFFFu, then there cannot
                             // be sufficent input available to handle this, so just fall through.
CVE-2026-65341
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Henock Habte

Attribute Value
CVE CVE-2026-65341
Bugzilla 318405
Component WebCore
Bug Class LogicError
Severity medium
Commit 34249048d66d342f…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/svg/animation/SVGSMILElement.cpp

Test Files

  • LayoutTests/svg/animations/smil-seek-huge-repeat-count-crash-expected.txt
  • LayoutTests/svg/animations/smil-seek-huge-repeat-count-crash.html

Patch Preview

diff --git a/LayoutTests/svg/animations/smil-seek-huge-repeat-count-crash-expected.txt b/LayoutTests/svg/animations/smil-seek-huge-repeat-count-crash-expected.txt
new file mode 100644
index 000000000000..cd68e3612acf
--- /dev/null
+++ b/LayoutTests/svg/animations/smil-seek-huge-repeat-count-crash-expected.txt
@@ -0,0 +1,3 @@
+Passes if it does not crash.
+
+
diff --git a/LayoutTests/svg/animations/smil-seek-huge-repeat-count-crash.html b/LayoutTests/svg/animations/smil-seek-huge-repeat-count-crash.html
new file mode 100644
index 000000000000..c30fa119a3e8
--- /dev/null
+++ b/LayoutTests/svg/animations/smil-seek-huge-repeat-count-crash.html
@@ -0,0 +1,14 @@
+<body>
+    <p>Passes if it does not crash.</p>
+    <svg id="svg">
+        <rect width="100" height="100" fill="green">
+            <animate attributeName="x" from="0" to="10" dur="0.0001s" repeatCount="indefinite"/>
+        </rect>
+    </svg>
+    <script>
+        if (window.testRunner)
+            testRunner.dumpAsText();
+
+        svg.setCurrentTime(400000);
+    </script>
+</body>
diff --git a/Source/WebCore/svg/animation/SVGSMILElement.cpp b/Source/WebCore/svg/animation/SVGSMILElement.cpp
index 8bd88254df52..8a9d6c1670b1 100644
--- a/Source/WebCore/svg/animation/SVGSMILElement.cpp
+++ b/Source/WebCore/svg/animation/SVGSMILElement.cpp
@@ -1049,12 +1049,13 @@ float SVGSMILElement::calculateAnimationPercentAndRepeat(SMILTime elapsed, unsig
     SMILTime activeTime = elapsed - m_intervalBegin;
     SMILTime repeatingDuration = this->repeatingDuration();
 
+    // Clamp the page-controlled repeat count to prevent overflow.
     if ((elapsed >= m_intervalEnd && !repeatingDuration.isIndefinite()) || activeTime > repeatingDuration) {
-        repeat = static_cast<unsigned>(repeatingDuration.value() / simpleDuration.value());
-        if (!fmod(repeatingDuration.value(), simpleDuration.value()))
+        repeat = clampTo<unsigned>(repeatingDuration.value() / simpleDuration.value());
+        if (repeat && !fmod(repeatingDuration.value(), simpleDuration.value()))
             --repeat;
     } else
-        repeat = static_cast<unsigned>(activeTime.value() / simpleDuration.value());
+        repeat = clampTo<unsigned>(activeTime.value() / simpleDuration.value());
 
     double percent;
     if (elapsed >= m_intervalEnd || activeTime > repeatingDuration) {
@@ -1187,16 +1188,9 @@ bool SVGSMILElement::progress(SMILTime elapsed, SVGSMILElement& firstAnimation,
         if (m_activeState == Inactive || m_activeState == Frozen)
             smilEventSender().dispatchEventSoon(*this, eventNames().endEventEvent);
 
-        if (repeat) {
-            // We intentionally dispatch repeat - 1 events here because the first repeat
-            // event (for the initial loop) is sent elsewhere during continuous animation run.
-            // If repeat == 1, no events are dispatched here.
-            for (unsigned i = 0; i < repeat - 1; ++i)
-                smilEventSender().dispatchEventSoon(*this, eventNames().repeatEventEvent);
-
-            if (m_activeState == Inactive)
-                smilEventSender().dispatchEventSoon(*this, eventNames().repeatEventEvent);
-        }
+        // Coalesce the skipped repeat iterations into a single event instead of one per interval.
+        if (repeat > 1 || (repeat && m_activeState == Inactive))
+            smilEventSender().dispatchEventSoon(*this, eventNames().repeatEventEvent);
     }
 
     m_nextProgressTime = calculateNextProgressTime(elapsed);
CVE-2026-65351
Aug 18, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Niels Hofmans

Attribute Value
CVE CVE-2026-65351
Bugzilla 321517
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

CVE-2026-43804
Jul 27, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a website may lead to an app denial-of-service

Researchers: Heiko Kiesel of SEEMOO, TU Darmstadt

Attribute Value
CVE CVE-2026-43804
Bugzilla 316816
Component WebCore
Bug Class LogicError
Severity medium
Commit 2057f457fb75d4e5…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/WebCore/loader/FrameLoader.cpp

Test Files

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/VerifyUserGestureFromUIProcess.mm
CVE-2026-43821
Jul 27, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: An app may be able to read files outside of its sandbox

Researchers: Brian Carpenter

Attribute Value
CVE CVE-2026-43821
Bugzilla 314867
Component WebKit
Bug Class SandboxEscape
Severity medium
Commit 74d0c628ff2d82e9…
Advisory Apple Advisory

Root Cause Analysis

An access issue was addressed with improved access restrictions.

Files Changed

Source Files

  • Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
CVE-2026-64713
Jul 27, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Websites may know if the user has visited a given link

Researchers: Kwak Kiyong, Song Nuri

Attribute Value
CVE CVE-2026-64713
Bugzilla 316827
Component WebCore
Bug Class LogicError
Severity medium
Commit 52cacff4c9e7d9eb…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/page/LargestContentfulPaintData.cpp
CVE-2026-64718
Jul 27, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: OGINOME Tomohito, an anonymous researcher

Attribute Value
CVE CVE-2026-64718
Bugzilla 313935
Component WebCore
Bug Class UAF
Severity medium
Commit 95f9f59bb141325d…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebCore/platform/graphics/cg/PathCG.cpp

Test Files

  • LayoutTests/fast/canvas/offscreen-worker-unsafe-isPointInStroke-call-expected.txt
  • LayoutTests/fast/canvas/offscreen-worker-unsafe-isPointInStroke-call.html
CVE-2026-64719
Jul 27, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Shaheen Fazim

Attribute Value
CVE CVE-2026-64719
Bugzilla 319404
Component WebKit
Bug Class OOB
Severity medium
Advisory Apple Advisory

Root Cause Analysis

An out-of-bounds access issue was addressed with improved bounds checking.

CVE-2026-64728
Jul 27, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Maliciously crafted web content may violate iframe sandboxing policy

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2026-64728
Bugzilla 313220
Component WebCore
Bug Class SandboxEscape
Severity medium
Commit c52bbb5187e1602b…
Advisory Apple Advisory

Root Cause Analysis

A permissions issue was addressed with improved validation.

Files Changed

Source Files

  • Source/WebCore/loader/FrameLoader.cpp

Test Files

  • LayoutTests/http/tests/cookies/same-site/fetch-in-srcdoc-iframe-inside-cross-origin-iframe-expected.txt
  • LayoutTests/http/tests/cookies/same-site/fetch-in-srcdoc-iframe-inside-cross-origin-iframe.html
  • LayoutTests/http/tests/cookies/same-site/img-from-srcdoc-iframe-inside-cross-origin-iframe-expected.txt
  • LayoutTests/http/tests/cookies/same-site/img-from-srcdoc-iframe-inside-cross-origin-iframe.html
  • LayoutTests/http/tests/cookies/same-site/resources/record-image-cookies.py
  • LayoutTests/http/tests/cookies/same-site/resources/srcdoc-creator-img-inside-cross-origin-iframe.html
  • LayoutTests/http/tests/cookies/same-site/resources/srcdoc-creator-inside-cross-origin-iframe.html
CVE-2026-64730
Jul 27, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a website that frames malicious content may lead to UI spoofing

Researchers: Kagami Rosylight of Mozilla

Attribute Value
CVE CVE-2026-64730
Bugzilla 311660
Component WTF
Bug Class LogicError
Severity medium
Commit 1ab2bb4ff37e91e0…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved UI.

Files Changed

Source Files

  • Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
CVE-2026-64757
Jul 27, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Milad Nasr and Nicholas Carlini with Claude, Anthropic

Attribute Value
CVE CVE-2026-64757
Bugzilla 315082
Component JSC
Bug Class LogicError
Severity medium
Commit 72272dcc4feb8412…
Advisory Apple Advisory

Root Cause Analysis

A memory corruption issue was addressed with improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/CachedTypes.cpp
  • Source/JavaScriptCore/runtime/ScopedArgumentsTable.cpp
  • Source/JavaScriptCore/runtime/ScopedArgumentsTable.h
  • Source/WTF/wtf/Vector.h
CVE-2026-64783
Jul 27, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: 杉山 壮太, lattice, Behzad Najjarpour Jabbari (@G4ru), Junyeong Lee, Mooth.ai, OGINOME Tomohito, Using GLM From Z.AI, Gia Bui (@yabeow) from Calif.io

Attribute Value
CVE CVE-2026-64783
Bugzilla 313521
Component WebCore
Bug Class UAF
Severity medium
Commit be08720593705c04…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

CVE-2026-28979
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Attribute Value
CVE CVE-2026-28979
Bugzilla 317324
Component WebKit
Bug Class OOB
Severity medium
Advisory Apple Advisory

Root Cause Analysis

An out-of-bounds access issue was addressed with improved bounds checking.

CVE-2026-39872
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Utkarsh Pal, Ignacio Sanmillan (@ulexec)

Attribute Value
CVE CVE-2026-39872
Bugzilla 313528
Component WebCore
Bug Class LogicError
Severity medium
Commit 8912cf5b00c44e5c…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp
  • Source/WebCore/Modules/webaudio/WaveShaperNode.cpp
  • Source/WebCore/Modules/webaudio/WaveShaperNode.h
  • Source/WebCore/Modules/webaudio/WaveShaperProcessor.cpp
  • Source/WebCore/Modules/webaudio/WaveShaperProcessor.h

Test Files

  • LayoutTests/webaudio/WaveShaper/waveshaper-curve-getter-during-rendering-crash-expected.txt
  • LayoutTests/webaudio/WaveShaper/waveshaper-curve-getter-during-rendering-crash.html
CVE-2026-43663
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Using GLM From Z.AI, Tristan Madani (@TristanInSec) from Talence Security, stratan (@5tratan) of Almamater Technologies, Soyeon Park, Amy Burnett, Khai Tran, sherkito, Kota Toda, HexRabbit (@h3xr4bb1t) and NiNi (@terrynini38514) of DEVCORE Research Team, Brian Carpenter

Attribute Value
CVE CVE-2026-43663
Bugzilla 312781
Component JSC
Bug Class LogicError
Severity medium
Commit 13bfbf94f49eab45…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

CVE-2026-43676
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Tommy DeVoss from Braze Security Team (@thedawgyg), Mateusz Krzywicki (iVerify.io), dr3dd

Attribute Value
CVE CVE-2026-43676
Bugzilla 317231
Component WebKit
Bug Class OOB
Severity medium
Advisory Apple Advisory

Root Cause Analysis

An out-of-bounds access issue was addressed with improved bounds checking.

CVE-2026-43699
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Tommy DeVoss from Braze Security Team (@thedawgyg)

Attribute Value
CVE CVE-2026-43699
Bugzilla 317227
Component WebKit
Bug Class UAF
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

CVE-2026-43700
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may disclose sensitive user information

Researchers: Vitaly Simonovich, Muhamad Syaiful, Christian Meurer Xavier

Attribute Value
CVE CVE-2026-43700
Bugzilla 315368
Component WebCore
Bug Class CrossOrigin
Severity medium
Commit 67b563b85f480c70…
Advisory Apple Advisory

Root Cause Analysis

A cross-origin issue was addressed with improved tracking of security origins.

Files Changed

Source Files

  • Source/WebCore/Modules/WebGPU/GPUDevice.cpp

Test Files

  • LayoutTests/fast/webgpu/regression/repro_315368-expected.txt
  • LayoutTests/fast/webgpu/regression/repro_315368.html
  • LayoutTests/fast/webgpu/regression/repro_315368b-expected.txt
  • LayoutTests/fast/webgpu/regression/repro_315368b.html
CVE-2026-43701
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may be able to process restricted web content outside the sandbox

Researchers: Aaron Grattafiori - NVIDIA AI Red Team

Attribute Value
CVE CVE-2026-43701
Bugzilla 315004
Component WebCore
Bug Class SandboxEscape
Severity medium
Commit f23ffb5a845006c8…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/loader/DocumentLoader.cpp
  • Source/WebKit/UIProcess/API/APINavigation.h
  • Source/WebKit/UIProcess/WebPageProxy.cpp
CVE-2026-43704
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious web extension may be able to cause an unexpected process crash

Researchers: dr3dd

Attribute Value
CVE CVE-2026-43704
Bugzilla 314642
Component WebKit
Bug Class UAF
Severity medium
Commit 1759ab219c63940b…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIDevToolsExtensionPanelCocoa.mm
  • Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIPortCocoa.mm

Test Files

  • Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebExtensionAPIRuntime.mm
CVE-2026-43705
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: dr3dd

Attribute Value
CVE CVE-2026-43705
Bugzilla 314528
Component WebCore
Bug Class TypeConfusion
Severity medium
Commit 8fd92b1021d310b2…
Advisory Apple Advisory

Root Cause Analysis

A type confusion issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/Modules/streams/TransformStream.cpp

Test Files

  • LayoutTests/streams/transform-stream-poisoned-iterator-crash-expected.txt
  • LayoutTests/streams/transform-stream-poisoned-iterator-crash.html
CVE-2026-43707
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: stratan (@5tratan) of Almamater Technologies, OpenAI Codex Security - Amy Burnett

Attribute Value
CVE CVE-2026-43707
Bugzilla 315951
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A memory corruption issue was addressed with improved memory handling.

CVE-2026-43708
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may exfiltrate data cross-origin

Researchers: Behzad Najjarpour Jabbari (@G4ru)

Attribute Value
CVE CVE-2026-43708
Bugzilla 315306
Component WebKit
Bug Class CrossOrigin
Severity medium
Commit 971435fdd3868e7f…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved input validation.

Files Changed

Source Files

  • Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm

Test Files

  • Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKHTTPCookieStore.mm
CVE-2026-43709
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Attribute Value
CVE CVE-2026-43709
Bugzilla 314398
Component WebKit
Bug Class UAF
Severity medium
Commit 9d2cc8c9895d51eb…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/QueryMtl.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/QueryMtl.mm
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_command_buffer.mm
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_occlusion_query_pool.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_occlusion_query_pool.mm
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_render_utils.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_render_utils.mm

Test Files

  • LayoutTests/platform/mac-wk2/TestExpectations
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/OcclusionQueriesTest.cpp

Patch Preview

diff --git a/LayoutTests/platform/mac-wk2/TestExpectations b/LayoutTests/platform/mac-wk2/TestExpectations
index 5661950f388b..5066d4b54544 100644
--- a/LayoutTests/platform/mac-wk2/TestExpectations
+++ b/LayoutTests/platform/mac-wk2/TestExpectations
@@ -2309,6 +2309,8 @@ webkit.org/b/315877 [ Sequoia Debug x86_64 ] webgl/2.0.y/conformance2/textures/m
 webkit.org/b/315877 [ Sequoia Debug x86_64 ] webgl/2.0.y/conformance2/textures/webgl_canvas/tex-3d-r11f_g11f_b10f-rgb-float.html [ Pass Timeout ]
 webkit.org/b/315877 [ Sequoia Debug x86_64 ] webgl/2.0.y/conformance2/textures/image_bitmap_from_video/tex-2d-rgba32f-rgba-float.html [ Pass Failure ]
 
+webkit.org/b/318751 [ Debug arm64 ] webgl/2.0.y/conformance2/textures/misc/tex-unpack-params.html [ Pass Failure ]
+
 webkit.org/b/315881 [ Sequoia Release x86_64 ] fast/attachment/cocoa/wide-attachment-class.html [ Pass ImageOnlyFailure ]
 webkit.org/b/315881 [ Sequoia Release x86_64 ] fast/attachment/cocoa/wide-attachment-default-icon.html [ Pass ImageOnlyFailure ]
 webkit.org/b/315881 [ Sequoia Release x86_64 ] fast/attachment/cocoa/wide-attachment-folder-icon.html [ Pass ImageOnlyFailure ]
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h
index 41553c65283a..a85c8ecffa9f 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h
@@ -31,6 +31,7 @@ namespace rx
 {
 class DisplayMtl;
 class FramebufferMtl;
+class QueryMtl;
 class VertexArrayMtl;
 class ProgramMtl;
 class ProgramExecutableMtl;
@@ -301,20 +302,22 @@ class ContextMtl : public ContextImpl, public mtl::Context
                                        bool renderPassChanged);
     void onBackbufferResized(const gl::Context *context, WindowSurfaceMtl *backbuffer);
 
-    // Invoke by QueryMtl
-    angle::Result onOcclusionQueryBegin(const gl::Context *context, QueryMtl *query);
-    void onOcclusionQueryEnd(const gl::Context *context, QueryMtl *query);
-    void onOcclusionQueryDestroy(const gl::Context *context, QueryMtl *query);
+    angle::Result onOcclusionQueryBegin(QueryMtl &query);
+    void onOcclusionQueryEnd();
+    void onOcclusionQueryDestroy(QueryMtl &query);
 
     // Useful for temporarily pause then restart occlusion query during clear/blit with draw.
-    bool hasActiveOcclusionQuery() const { return mOcclusionQuery; }
+    bool isOcclusionQueryEnabledInRenderPass() const
+    {
+        return mOcclusionQueryIsEnabledInRenderPass;
+    }
     // Disable the occlusion query in the current render pass.
     // The render pass must already started.
-    void disableActiveOcclusionQueryInRenderPass();
+    void disableOcclusionQueryInRenderPass();
     // Re-enable the occlusion query in the current render pass.
     // The render pass must already started.
     // NOTE: the old query's result will be retained and combined with the new result.
-    angle::Result restartActiveOcclusionQueryInRenderPass();
+    angle::Result enableOcclusionQueryInRenderPass();
 
     // Invoke by TransformFeedbackMtl
     void onTransformFeedbackActive(const gl::Context *context, TransformFeedbackMtl *xfb);
@@ -536,8 +539,6 @@ class ContextMtl : public ContextImpl, public mtl::Context
                                          bool xfbPass,
                                          bool *pipelineDescChanged);
 
-    angle::Result startOcclusionQueryInRenderPass(QueryMtl *query, bool clearOldValue);
-
     angle::Result checkCommandBufferError();
 
     // Dirty bits.
@@ -607,7 +608,6 @@ class ContextMtl : public ContextImpl, public mtl::Context
     FramebufferMtl *mDrawFramebuffer  = nullptr;
     VertexArrayMtl *mVertexArray      = nullptr;
     ProgramExecutableMtl *mExecutable = nullptr;
-    QueryMtl *mOcclusionQuery         = nullptr;
 
     using DirtyBits = angle::BitSet<DIRTY_BIT_MAX>;
 
@@ -658,6 +658,9 @@ class ContextMtl : public ContextImpl, public mtl::Context
     id<MTLTexture> mRasterizationRateMapTexture;
 
     mtl::ContextDevice mContextDevice;
+
+    mtl::BufferRef mOcclusionQueryResultBuffer;
+    bool mOcclusionQueryIsEnabledInRenderPass{false};
 };
 
 }  // namespace rx
diff --git a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
index 644b213beee9..8703f6c2d578 100644
--- a/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
+++ b/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
@@ -1823,7 +1823,7 @@ GLint GetOwnershipIdentity(const egl::AttributeMap &attribs)
             mRenderEncoder.setStoreAction(MTLStoreActionStore);
         }
 
-        disableActiveOcclusionQueryInRenderPass();
+        disableOcclusionQueryInRenderPass();
 
         mOcclusionQueryPool.prepareRenderPassVisibilityPoolBuffer(this);
 
@@ -2281,84 +2281,67 @@ GLint GetOwnershipIdentity(const egl::AttributeMap &attribs)
     onDrawFrameBufferChangedState(context, framebuffer, true);
 }
 
-angle::Result ContextMtl::onOcclusionQueryBegin(const gl::Context *context, QueryMtl *query)
+angle::Result ContextMtl::onOcclusionQueryBegin(QueryMtl &query)
 {
-    ASSERT(mOcclusionQuery == nullptr);
-    mOcclusionQuery = query;
-
+    ASSERT(!mOcclusionQueryResultBuffer);  // Frontend guarantees none active at the time.
+    const mtl::BufferRef &resultBuffer = query.getVisibilityResultBuffer();
+    bool isEnabledInRenderPass;
     if (mRenderEncoder.valid())
     {
-        // if render pass has started, start the query in the encoder
-        return startOcclusionQueryInRenderPass(query, true);
+        size_t resultOffset;
+        ANGLE_TRY(mOcclusionQueryPool.beginQuery(this, resultBuffer, &resultOffset));
+        mRenderEncoder.setVisibilityResultMode(MTLVisibilityResultModeBoolean, resultOffset);
+        // Result is available after flush.
+        mCmdBuffer.setWriteDependency(resultBuffer, /*isRenderCommand=*/true);
+        isEnabledInRenderPass = true;
     }
     else
     {
-        query->resetVisibilityResult(this);
+        // Reset the occlusion query result stored in buffer to zero.
+        // Later draws will use continueQuery() to enable the visibility buffer writes.
+        auto blitEncoder = getBlitCommandEncoder();
+        blitEncoder->fillBuffer(resultBuffer, NSMakeRange(0, mtl::kOcclusionQueryResultSize), 0);
+        resultBuffer->syncContent(this, blitEncoder);
+        isEnabledInRenderPass = false;
     }
-
+    mOcclusionQueryResultBuffer          = resultBuffer;
+    mOcclusionQueryIsEnabledInRenderPass = isEnabledInRenderPass;
     return angle::Result::Continue;
 }
-void ContextMtl::onOcclusionQueryEnd(const gl::Context *context, QueryMtl *query)
-{
-    ASSERT(mOcclusionQuery == query);
-
-    if (mRenderEncoder.valid())
-    {
-        // if render pass has started, end the query in the encoder
-        disableActiveOcclusionQueryInRenderPass();
-    }
 
-    mOcclusionQuery = nullptr;
-}
-void ContextMtl::onOcclusionQueryDestroy(const gl::Context *context, QueryMtl *query)
+void ContextMtl::onOcclusionQueryEnd()
 {
-    if (query->getAllocatedVisibilityOffsets().empty())
-    {
-        return;
-    }
-    if (mOcclusionQuery == query)
-    {
-        onOcclusionQueryEnd(context, query);
-    }
-    mOcclusionQueryPool.deallocateQueryOffset(this, query);
+    ASSERT(mOcclusionQueryResultBuffer);  // Frontend guarantees one active at the time.
+    disableOcclusionQueryInRenderPass();
+    mOcclusionQueryResultBuffer = nullptr;
 }
 
-void ContextMtl::disableActiveOcclusionQueryInRenderPass()
+void ContextMtl::onOcclusionQueryDestroy(QueryMtl &query)
 {
-    if (!mOcclusionQuery || mOcclusionQuery->getAllocatedVisibilityOffsets().empty())
-    {
-        return;
-    }
-
-    ASSERT(mRenderEncoder.valid());
-    mRenderEncoder.setVisibilityResultMode(MTLVisibilityResultModeDisabled,
-                                           mOcclusionQuery->getAllocatedVisibilityOffsets().back());
+    // On normal operation frontend guaraantees that end is called before destroy.
+    // On context destruction, active query is destroyed without end.
+    // Discard is valid for both.
+    mOcclusionQueryPool.discardQuery(query.getVisibilityResultBuffer());
 }
 
-angle::Result ContextMtl::restartActiveOcclusionQueryInRenderPass()
+void ContextMtl::disableOcclusionQueryInRenderPass()
 {
-    if (!mOcclusionQuery || mOcclusionQuery->getAllocatedVisibilityOffsets().empty())
+    if (mOcclusionQueryResultBuffer && mOcclusionQueryIsEnabledInRenderPass)
     {
-        return angle::Result::Continue;
+        ASSERT(mRenderEncoder.valid());
+        mRenderEncoder.setVisibilityResultMode(MTLVisibilityResultModeDisabled, 0);
+        mOcclusionQueryIsEnabledInRenderPass = false;
     }
-
-    return startOcclusionQueryInRenderPass(mOcclusionQuery, false);
 }
 
-angle::Result ContextMtl::startOcclusionQueryInRenderPass(QueryMtl *query, bool clearOldValue)
+angle::Result ContextMtl::enableOcclusionQueryInRenderPass()
 {
     ASSERT(mRenderEncoder.valid());
-
CVE-2026-43712
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Kwak Kiyong, Song nuri, Tristan Madani (@TristanInSec) from Talence Security

Attribute Value
CVE CVE-2026-43712
Bugzilla 314235
Component JSC
Bug Class LogicError
Severity medium
Commit e96472d9cab94158…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmGlobal.h
  • Source/JavaScriptCore/wasm/WasmTable.cpp
  • Source/JavaScriptCore/wasm/WasmTable.h

Test Files

  • JSTests/wasm/gc/transitive-type-retention-global.js
  • JSTests/wasm/gc/transitive-type-retention-table.js
CVE-2026-43713
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a website may leak sensitive data

Researchers: Jody Ritonga

Attribute Value
CVE CVE-2026-43713
Bugzilla 314806
Component WebCore
Bug Class LogicError
Severity medium
Commit 73645abad282e490…
Advisory Apple Advisory

Root Cause Analysis

A permissions issue was addressed with additional restrictions.

Files Changed

Source Files

  • Source/WebCore/Modules/async-clipboard/Clipboard.cpp

Test Files

  • LayoutTests/editing/async-clipboard/clipboard-change-data-while-getting-type.html
  • LayoutTests/editing/async-clipboard/clipboard-get-type-with-old-items.html
  • LayoutTests/editing/async-clipboard/resources/async-clipboard-helpers.js
  • LayoutTests/http/tests/security/clipboard/clipboard-access-in-cross-origin-iframe-denied-expected.txt
  • LayoutTests/http/tests/security/clipboard/clipboard-access-in-cross-origin-iframe-denied.html
  • LayoutTests/http/tests/security/clipboard/resources/clipboard-access-from-iframe.html
  • LayoutTests/imported/w3c/web-platform-tests/clipboard-apis/async-navigator-clipboard-basics.https-expected.txt
  • LayoutTests/imported/w3c/web-platform-tests/clipboard-apis/async-navigator-clipboard-basics.https.html
  • LayoutTests/imported/w3c/web-platform-tests/clipboard-apis/resources/user-activation.js
CVE-2026-43715
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Milad Nasr and Nicholas Carlini with Claude, Anthropic

Attribute Value
CVE CVE-2026-43715
Bugzilla 313577
Component WebCore
Bug Class UAF
Severity medium
Commit 5aedb82710ba578f…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebCore/css/CSSFontFace.cpp

Test Files

  • LayoutTests/fonts/font-face-load-crash-expected.txt
  • LayoutTests/fonts/font-face-load-crash.html
CVE-2026-43716
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Maher Azzouzi, Tuan and Duc from Calif.io, OpenAI Codex Security - Amy Burnett, Evan Lambert

Attribute Value
CVE CVE-2026-43716
Bugzilla 313473
Component JSC
Bug Class LogicError
Severity medium
Commit a012babd4f1611a4…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/ArrayBuffer.cpp
  • Source/JavaScriptCore/runtime/ArrayBuffer.h
  • Source/JavaScriptCore/runtime/JSArrayBuffer.cpp
  • Source/JavaScriptCore/runtime/JSArrayBuffer.h
  • Source/JavaScriptCore/runtime/JSArrayBufferPrototype.cpp
  • Source/JavaScriptCore/wasm/WasmMemory.h
  • Source/JavaScriptCore/wasm/js/JSWebAssemblyMemory.cpp

Test Files

  • JSTests/wasm/stress/wasm-resizable-buffer-resize-after-gc.js
CVE-2026-43717
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Nan Wang (@eternalsakura13)

Attribute Value
CVE CVE-2026-43717
Bugzilla 313351
Component WebKit
Bug Class UAF
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

CVE-2026-43718
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Nan Wang (@eternalsakura13)

Attribute Value
CVE CVE-2026-43718
Bugzilla 313350
Component WebKit
Bug Class IntegerOverflow
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A stack overflow was addressed with improved input validation.

CVE-2026-43720
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Josef Korbel, Gia Bui (@yabeow) from Calif.io

Attribute Value
CVE CVE-2026-43720
Bugzilla 313175
Component WebCore
Bug Class UAF
Severity medium
Commit 040ef6e21ffac03b…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebCore/html/HTMLCanvasElement.cpp
  • Source/WebCore/html/OffscreenCanvas.cpp

Test Files

  • LayoutTests/fast/canvas/canvas-getContext-reentrant-expected.txt
  • LayoutTests/fast/canvas/canvas-getContext-reentrant.html
CVE-2026-43721
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may be able to silently hijack clipboard data

Researchers: Idan Masas

Attribute Value
CVE CVE-2026-43721
Bugzilla 313478
Component WebCore
Bug Class LogicError
Severity medium
Commit d8576e6cceeb0595…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/WebCore/dom/DocumentStorageAccess.cpp
  • Source/WebCore/dom/DocumentStorageAccess.h
  • Source/WebCore/page/ChromeClient.h
  • Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp
  • Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h
  • Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
  • Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
  • Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
  • Source/WebKit/Scripts/webkit/messages.py
  • Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
  • Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
  • Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
  • Source/WebKit/WebProcess/WebPage/WebPage.cpp
  • Source/WebKit/WebProcess/WebPage/WebPage.h

Test Files

  • LayoutTests/http/tests/storageAccess/request-storage-access-rejected-without-gesture-should-not-activate-expected.txt
  • LayoutTests/http/tests/storageAccess/request-storage-access-rejected-without-gesture-should-not-activate.html
  • LayoutTests/http/tests/storageAccess/resources/request-storage-access-without-gesture-check-activation-iframe.html
CVE-2026-43725
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may be able to process restricted web content outside the sandbox

Researchers: Luke Francis

Attribute Value
CVE CVE-2026-43725
Bugzilla 312832
Component WebKit
Bug Class SandboxEscape
Severity medium
Commit ccf0c4874cb25ab1…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved input validation.

Files Changed

Source Files

  • Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
  • Source/WebKit/UIProcess/WebPageProxy.cpp

Test Files

  • LayoutTests/ipc/load-image-for-decoding-file-url-expected.txt
  • LayoutTests/ipc/load-image-for-decoding-file-url.html
CVE-2026-43726
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Utkarsh Pal, Tristan Madani (@TristanInSec) from Talence Security, stratan (@5tratan) of Almamater Technologies, Narendra Singh (@_3P1C), Josef Korbel (Citadelo), Gia Bui (@yabeow) from Calif.io

Attribute Value
CVE CVE-2026-43726
Bugzilla 313857
Component JSC
Bug Class UAF
Severity medium
Commit a7e4fdb9545042ae…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

CVE-2026-43727
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Tommy DeVoss from Braze Security Team (@thedawgyg), Gurpreet Shergill, Gia Bui (@yabeow) from Calif.io

Attribute Value
CVE CVE-2026-43727
Bugzilla 313691
Component WebCore
Bug Class UAF
Severity medium
Commit c5036aadbde48318…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebCore/Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp

Test Files

  • LayoutTests/editing/async-clipboard/clipboard-write-item-crash-expected.txt
  • LayoutTests/editing/async-clipboard/clipboard-write-item-crash.html
CVE-2026-43731
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: dr3dd

Attribute Value
CVE CVE-2026-43731
Bugzilla 314115
Component WebKit
Bug Class UAF
Severity medium
Commit 866892a3052f6739…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebKit/GPUProcess/webrtc/UserMediaCaptureManagerProxy.cpp

Test Files

  • LayoutTests/ipc/usermedia-capture-start-producing-data-race-expected.txt
  • LayoutTests/ipc/usermedia-capture-start-producing-data-race.html
  • LayoutTests/platform/glib/TestExpectations
CVE-2026-43732
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may disclose sensitive user information

Researchers: Nan Wang (@eternalsakura13)

Attribute Value
CVE CVE-2026-43732
Bugzilla 313085
Component WebKit
Bug Class LogicError
Severity medium
Commit 5be1236842b36137…
Advisory Apple Advisory

Root Cause Analysis

A path handling issue was addressed with improved validation.

Files Changed

Source Files

  • Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
  • Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
  • Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.messages.in
  • Source/WebKit/NetworkProcess/storage/IDBStorageConnectionToClient.cpp
  • Source/WebKit/NetworkProcess/storage/IDBStorageConnectionToClient.h
  • Source/WebKit/NetworkProcess/storage/IDBStorageRegistry.cpp
  • Source/WebKit/NetworkProcess/storage/IDBStorageRegistry.h
  • Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
  • Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h

Test Files

  • LayoutTests/ipc/register-file-backed-blob-path-validation-expected.txt
  • LayoutTests/ipc/register-file-backed-blob-path-validation.html
CVE-2026-43734
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Jonathan Alush-Aben

Attribute Value
CVE CVE-2026-43734
Bugzilla 313693
Component WebCore
Bug Class UAF
Severity medium
Commit 5b76ce8531919008…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebCore/Modules/mediasource/MediaSource.cpp
  • Source/WebCore/platform/graphics/MediaPlayer.cpp
  • Source/WebCore/platform/graphics/MediaPlayer.h
CVE-2026-43735
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may exfiltrate data cross-origin

Researchers: Rhyru9, Merrick Hare, Kwak Kiyong, Song Nuri, Khai Tran, John Lussier, Gurpreet Shergill, Drinor Selmanaj (Sentry)

Attribute Value
CVE CVE-2026-43735
Bugzilla 313357
Component WebCore
Bug Class CrossOrigin
Severity medium
Commit 8254b44eba7e8bfb…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/Modules/WebGPU/GPUDevice.cpp
  • Source/WebCore/Modules/WebGPU/GPUDevice.h
  • Source/WebCore/Modules/WebGPU/GPUDevice.idl

Test Files

  • LayoutTests/http/tests/webgpu/import-external-texture-cross-origin-video-expected.txt
  • LayoutTests/http/tests/webgpu/import-external-texture-cross-origin-video.html
CVE-2026-43740
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may result in the disclosure of process memory

Researchers: Arni Hardarson, Nathaniel Oh (@calysteon)

Attribute Value
CVE CVE-2026-43740
Bugzilla 308046
Component JSC
Bug Class LogicError
Severity medium
Commit 2693828e8d7300d8…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/yarr/YarrJIT.cpp

Test Files

  • JSTests/stress/regexp-backreference-unicode-offset.js
CVE-2026-43742
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Юлия Мерцалова

Attribute Value
CVE CVE-2026-43742
Bugzilla 315161
Component WebCore
Bug Class UAF
Severity medium
Commit 034f2fbd9b69edba…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebCore/html/canvas/WebGL2RenderingContext.h
  • Source/WebCore/html/canvas/WebGLRenderingContext.h
  • Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
  • Source/WebCore/html/canvas/WebGLRenderingContextBase.h

Test Files

  • LayoutTests/fast/canvas/webgl/context-restore-concurrent-gc-no-crash-expected.txt
  • LayoutTests/fast/canvas/webgl/context-restore-concurrent-gc-no-crash.html

Patch Preview

diff --git a/LayoutTests/fast/canvas/webgl/context-restore-concurrent-gc-no-crash-expected.txt b/LayoutTests/fast/canvas/webgl/context-restore-concurrent-gc-no-crash-expected.txt
new file mode 100644
index 000000000000..c2541f4f3dd7
--- /dev/null
+++ b/LayoutTests/fast/canvas/webgl/context-restore-concurrent-gc-no-crash-expected.txt
@@ -0,0 +1 @@
+PASS if no crash.
diff --git a/LayoutTests/fast/canvas/webgl/context-restore-concurrent-gc-no-crash.html b/LayoutTests/fast/canvas/webgl/context-restore-concurrent-gc-no-crash.html
new file mode 100644
index 000000000000..a62c55af8994
--- /dev/null
+++ b/LayoutTests/fast/canvas/webgl/context-restore-concurrent-gc-no-crash.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html>
+<body>
+<!-- Exercises a race between WebGL2 context restoration (which reinitializes
+     bound-object state via initializeNewContext) and concurrent GC marking (which
+     traverses that state via addMembersToOpaqueRoots). Without objectGraphLock()
+     held during restoration, the restore path can free objects the GC marker is
+     still reading, causing a use-after-free. -->
+<script>
+if (window.testRunner) {
+    testRunner.dumpAsText();
+    testRunner.waitUntilDone();
+}
+if (window.internals)
+    internals.settings.setWebGLErrorsToConsoleEnabled(false);
+
+const tick = () => new Promise(r => setTimeout(r, 0));
+
+// Ensure the GC marker doesn't reach the WebGL wrapper until the concurrent phase.
+const heapPaddingSize = 300000;
+const heapPadding = new Array(heapPaddingSize);
+for (let i = 0; i < heapPaddingSize; i++)
+    heapPadding[i] = { a: i, b: { c: i } };
+
+async function loseAndRestoreContext() {
+    const canvas = document.body.appendChild(document.createElement('canvas'));
+    canvas.width = 1;
+    canvas.height = 1;
+    const gl = canvas.getContext('webgl2');
+    const ext = gl.getExtension('WEBGL_lose_context');
+    for (let i = 0; i < heapPaddingSize; i += 4096)
+        heapPadding[i].g = gl;
+
+    const contextLost = new Promise(r => {
+        canvas.addEventListener('webglcontextlost', e => { e.preventDefault(); r(); });
+    });
+    const contextRestored = new Promise(r => {
+        canvas.addEventListener('webglcontextrestored', () => r());
+    });
+
+    ext.loseContext();
+    await contextLost;
+    await tick();
+
+    // Trigger GC so its concurrent marking phase overlaps the restore timer.
+    new WebAssembly.Memory({ initial: 1024 });
+    new WebAssembly.Memory({ initial: 1024 });
+    ext.restoreContext();
+    await tick();
+    await tick();
+    await contextRestored;
+
+    canvas.remove();
+}
+
+async function runTest() {
+    for (let i = 0; i < 50; i++)
+        await loseAndRestoreContext();
+    document.body.textContent = 'PASS if no crash.';
+    if (window.testRunner)
+        testRunner.notifyDone();
+}
+runTest();
+</script>
+</body>
+</html>
diff --git a/Source/WebCore/html/canvas/WebGL2RenderingContext.h b/Source/WebCore/html/canvas/WebGL2RenderingContext.h
index dcf736d39056..b691cd7a4c8b 100644
--- a/Source/WebCore/html/canvas/WebGL2RenderingContext.h
+++ b/Source/WebCore/html/canvas/WebGL2RenderingContext.h
@@ -261,7 +261,7 @@ class WebGL2RenderingContext final : public WebGLRenderingContextBase {
 
 private:
     using WebGLRenderingContextBase::WebGLRenderingContextBase;
-    void initializeContextState() final;
+    void initializeContextState() WTF_REQUIRES_LOCK(objectGraphLock()) final;
 
     RefPtr<ArrayBufferView> arrayBufferViewSliceFactory(ASCIILiteral functionName, const ArrayBufferView& data, unsigned startByte, unsigned bytelength);
     RefPtr<ArrayBufferView> sliceArrayBufferView(ASCIILiteral functionName, const ArrayBufferView& data, GCGLuint srcOffset, GCGLuint length);
@@ -269,7 +269,7 @@ class WebGL2RenderingContext final : public WebGLRenderingContextBase {
     long long getInt64Parameter(GCGLenum) final;
     Vector<bool> getIndexedBooleanArrayParameter(GCGLenum pname, GCGLuint index);
 
-    void initializeDefaultObjects() final;
+    void initializeDefaultObjects() WTF_REQUIRES_LOCK(objectGraphLock()) final;
     void detachAndRemoveAllObjects() WTF_REQUIRES_LOCK(objectGraphLock()) final;
     bool validateBufferTarget(ASCIILiteral functionName, GCGLenum target) final;
     bool validateBufferTargetCompatibility(ASCIILiteral, GCGLenum, WebGLBuffer*);
diff --git a/Source/WebCore/html/canvas/WebGLRenderingContext.h b/Source/WebCore/html/canvas/WebGLRenderingContext.h
index 7404a87eb9a4..a9b2f1b3e9de 100644
--- a/Source/WebCore/html/canvas/WebGLRenderingContext.h
+++ b/Source/WebCore/html/canvas/WebGLRenderingContext.h
@@ -60,7 +60,7 @@ class WebGLRenderingContext final : public WebGLRenderingContextBase {
 
 private:
     using WebGLRenderingContextBase::WebGLRenderingContextBase;
-    void initializeDefaultObjects() final;
+    void initializeDefaultObjects() WTF_REQUIRES_LOCK(objectGraphLock()) final;
     void detachAndRemoveAllObjects() WTF_REQUIRES_LOCK(objectGraphLock()) final;
 };
 
diff --git a/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp b/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
index f128a2833781..2216b3ef9011 100644
--- a/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
+++ b/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
@@ -524,8 +524,11 @@ void WebGLRenderingContextBase::initializeNewContext(Ref<GraphicsContextGL> cont
     updateActiveOrdinal();
     if (!wasActive)
         addActiveContext(*this);
-    initializeContextState();
-    initializeDefaultObjects();
+    {
+        Locker locker { objectGraphLock() };
+        initializeContextState();
+        initializeDefaultObjects();
+    }
     // Next calls will receive the context lost callback.
     m_context->setClient(this);
 }
diff --git a/Source/WebCore/html/canvas/WebGLRenderingContextBase.h b/Source/WebCore/html/canvas/WebGLRenderingContextBase.h
index 57fc93560676..9313e4ff0bca 100644
--- a/Source/WebCore/html/canvas/WebGLRenderingContextBase.h
+++ b/Source/WebCore/html/canvas/WebGLRenderingContextBase.h
@@ -538,8 +538,8 @@ class WebGLRenderingContextBase : public GraphicsContextGL::Client, public GPUBa
     friend class ScopedWebGLRestoreTexture;
 
     void initializeNewContext(Ref<GraphicsContextGL>);
-    virtual void initializeContextState();
-    virtual void initializeDefaultObjects();
+    virtual void initializeContextState() WTF_REQUIRES_LOCK(objectGraphLock());
+    virtual void initializeDefaultObjects() WTF_REQUIRES_LOCK(objectGraphLock());
     virtual void detachAndRemoveAllObjects() WTF_REQUIRES_LOCK(objectGraphLock());
 
     // ActiveDOMObject
CVE-2026-43745
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: OpenAI Codex Security - Amy Burnett, Khai Tran

Attribute Value
CVE CVE-2026-43745
Bugzilla 315365
Component JSC
Bug Class OOB
Severity medium
Commit 0f0de8f2a0582988…
Advisory Apple Advisory

Root Cause Analysis

An out-of-bounds write issue was addressed with improved input validation.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmEntryPlan.cpp
  • Source/JavaScriptCore/wasm/WasmEntryPlan.h
  • Source/JavaScriptCore/wasm/WasmIPIntPlan.cpp

Test Files

  • JSTests/wasm/stress/streaming-compile-try-table-agreement.js
CVE-2026-43746
Jun 29, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: dr3dd

Attribute Value
CVE CVE-2026-43746
Bugzilla 314090
Component WebKit
Bug Class UAF
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

CVE-2026-28847
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Idan Masas, DARKNAVY (@DarkNavyOrg), Anonymous working with TrendAI Zero Day Initiative, Daniel Rhea

Attribute Value
CVE CVE-2026-28847
Bugzilla 308707
Component JSC
Bug Class LogicError
Severity medium
Commit e5368156542a8414…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/yarr/RegularExpression.cpp

Test Files

  • Tools/TestWebKitAPI/CMakeLists.txt
  • Tools/TestWebKitAPI/Tests/JavaScriptCore/RegularExpression.cpp
CVE-2026-28883
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: kwak kiyong / kakaogames

Attribute Value
CVE CVE-2026-28883
Bugzilla 313939
Component WebKit
Bug Class UAF
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

CVE-2026-28901
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Aisle offensive security research team (Joshua Rogers, Luigino Camastra, Igor Morgenstern, and Guido Vranken), Maher Azzouzi, Ngan Nguyen of Calif.io

Attribute Value
CVE CVE-2026-28901
Bugzilla 310207
Component JSC
Bug Class LogicError
Severity medium
Commit c5d68122b2faf486…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp

Test Files

  • JSTests/wasm/regress/310207.js
CVE-2026-28902
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Tristan Madani (@TristanInSec) from Talence Security, Nathaniel Oh (@calysteon)

Attribute Value
CVE CVE-2026-28902
Bugzilla 309861
Component JSC
Bug Class LogicError
Severity medium
Commit c8525868de350de8…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h

Test Files

  • JSTests/stress/growable-sharedarraybuffer-parallel-grow-during-prototype-methods.js
CVE-2026-28903
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Mateusz Krzywicki (iVerify.io)

Attribute Value
CVE CVE-2026-28903
Bugzilla 310303
Component JSC
Bug Class LogicError
Severity medium
Commit fa0214fe9a50ec15…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/b3/air/AirFixObviousSpills.cpp

Test Files

  • JSTests/stress/fixobviousspills-earlydefs.js
CVE-2026-28904
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Luka Rački

Attribute Value
CVE CVE-2026-28904
Bugzilla 309601
Component JSC
Bug Class LogicError
Severity medium
Commit 7663d811d06c3255…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/assembler/AssemblerBuffer.h
  • Source/JavaScriptCore/yarr/YarrErrorCode.cpp
  • Source/JavaScriptCore/yarr/YarrErrorCode.h
  • Source/JavaScriptCore/yarr/YarrParser.h
  • Source/JavaScriptCore/yarr/YarrPattern.cpp
  • Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp

Test Files

  • JSTests/stress/regexp-alternative-heavy.js
  • JSTests/stress/regexp-bol-optimize-out-of-stack.js
  • JSTests/stress/regexp-combined-large.js
  • JSTests/stress/regexp-deep-nested.js
  • JSTests/stress/regexp-heavy-mixed.js
  • JSTests/stress/regexp-lookahead-heavy.js
  • JSTests/stress/stack-overflow-regexp.js
  • LayoutTests/js/script-tests/stack-overflow-regexp.js
  • LayoutTests/js/stack-overflow-regexp-expected.txt
CVE-2026-28905
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Yuhao Hu, Yuanming Lai, Chenggang Wu, and Zhe Wang

Attribute Value
CVE CVE-2026-28905
Bugzilla 308545
Component WebKit
Bug Class JIT Bug
Severity medium
Commit 392f508eef947d28…
Advisory Apple Advisory

Root Cause Analysis

FTL JIT OSR exit had a phantom array unwritten slot bug where an array’s length was not properly updated after arr.map(f) when f returned the same array. This is a JIT compilation bug in FTL’s OSR exit handling where the compiler incorrectly assumed array shape during bailout.

CVE-2026-28907
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may prevent Content Security Policy from being enforced

Researchers: Cantina

Attribute Value
CVE CVE-2026-28907
Bugzilla 308675
Component WebKit
Bug Class CSP Bypass
Severity medium
Commit 5d910749e9023a7d…
Advisory Apple Advisory

Root Cause Analysis

CSP path matching did not percent-decode path segments before comparison, allowing %2F..%2F path traversal to bypass script-src path restrictions. Fix: pathMatches() now splits on /, then percent-decodes each segment individually before comparing.

CVE-2026-28913
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2026-28913
Bugzilla 311631
Component WebKit
Bug Class LogicError
Severity medium
Commit a9f9b9ecfd4bcdaf…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/TextureMtl.mm

Test Files

  • Source/ThirdParty/ANGLE/src/tests/gl_tests/ETCTextureTest.cpp
CVE-2026-28917
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Vitaly Simonovich

Attribute Value
CVE CVE-2026-28917
Bugzilla 310527
Component WebKit
Bug Class LogicError
Severity medium
Commit cf2e67ecb9131bdf…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved input validation.

Files Changed

Source Files

  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ProvokingVertexHelper.mm
CVE-2026-28942
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Milad Nasr and Nicholas Carlini with Claude, Anthropic

Attribute Value
CVE CVE-2026-28942
Bugzilla 312180
Component WebCore
Bug Class UAF
Severity medium
Commit 70753442a3d86ab5…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebCore/html/HTMLDialogElement.cpp

Test Files

  • LayoutTests/fast/html/dialog-close-from-button-crash-expected.txt
  • LayoutTests/fast/html/dialog-close-from-button-crash.html
CVE-2026-28944
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Kenneth Hsu of Palo Alto Networks, Jérôme DJOUDER, dr3dd

Attribute Value
CVE CVE-2026-28944
Bugzilla 311131
Component WebCore
Bug Class LogicError
Severity medium
Commit 8384c8455e7b5bc4…
Advisory Apple Advisory

Root Cause Analysis

WebRTC encoded stream transformer allowed writing audio frames to video streams and vice versa. RTCEncodedStreamProducer::writeFrame did not validate that the incoming frame type matched the stream type. Fix: Added m_hasTransformer and m_transformer weak pointer checks; writeFrame now returns early if m_isVideo != isVideo or if the frame is not from the expected transformer.

CVE-2026-28946
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Gia Bui (@yabeow) from Calif.io, dr3dd, w0wbox

Attribute Value
CVE CVE-2026-28946
Bugzilla 310544
Component WebCore
Bug Class UAF
Severity medium
Commit 869d5c55313783da…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebCore/html/BaseDateAndTimeInputType.cpp
  • Source/WebCore/html/BaseDateAndTimeInputType.h
  • Source/WebCore/html/shadow/DateTimeEditElement.cpp
  • Source/WebCore/html/shadow/DateTimeEditElement.h

Test Files

  • LayoutTests/fast/forms/date/date-editable-components/date-editable-components-change-type-on-input-event-expected.txt
  • LayoutTests/fast/forms/date/date-editable-components/date-editable-components-change-type-on-input-event.html
CVE-2026-28947
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: dr3dd

Attribute Value
CVE CVE-2026-28947
Bugzilla 310234
Component JSC
Bug Class UAF
Severity medium
Commit 76b34686210f4f67…
Advisory Apple Advisory

Root Cause Analysis

JSWebAssemblyInstance destructor called m_anchor->tearDown() after unregistering ICs and destroying baseline data. If GC ran during destruction, the anchor could be accessed after partial teardown. Fix: Moved m_anchor->tearDown() to the beginning of the destructor, before any other cleanup.

CVE-2026-28953
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Maher Azzouzi

Attribute Value
CVE CVE-2026-28953
Bugzilla 309628
Component WebKit
Bug Class LogicError
Severity medium
Commit 9161e71798e985c6…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Test Files

  • JSTests/wasm/regress/309628.js
CVE-2026-28955
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: wac and Kookhwan Lee working with TrendAI Zero Day Initiative

Attribute Value
CVE CVE-2026-28955
Bugzilla 310880
Component WebCore
Bug Class LogicError
Severity medium
Commit 5233199dcb0cd58c…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/inspector/agents/InspectorCSSAgent.cpp
CVE-2026-28958
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: An app may be able to access sensitive user data

Researchers: Cantina

Attribute Value
CVE CVE-2026-28958
Bugzilla 311228
Component WebCore
Bug Class CSRF
Severity high
Commit d995144a1f1cdc33…
Advisory Apple Advisory

Root Cause Analysis

FrameLoader::load called addSameSiteInfoToRequestIfNeeded before checking if the initiator should inherit the security origin from its owner. This caused SameSite=Strict cookies to be sent on cross-site navigations initiated by iframes. Fix: Passes initiator.ptr() only when shouldInheritSecurityOriginFromOwner is false.

CVE-2026-28962
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may disclose sensitive user information

Researchers: Luke Francis, Vaagn Vardanian, kwak kiyong / kakaogames, Vitaly Simonovich, Adel Bouachraoui, greenbynox

Attribute Value
CVE CVE-2026-28962
Bugzilla 309698
Component WebCore
Bug Class Path Traversal
Severity medium
Commit 08d7278db550a539…
Advisory Apple Advisory

Root Cause Analysis

Pasteboard drag-and-drop and file upload paths were not validated against an allowlist. A compromised web process could register attachment identifiers pointing to arbitrary files (e.g. /etc/passwd). Fix: Added m_allowedAttachmentFilePaths HashSet to WebProcessProxy, validates paths before registration.

CVE-2026-28971
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious iframe may use another website’s download settings

Researchers: Khiem Tran

Attribute Value
CVE CVE-2026-28971
Bugzilla 311288
Component WebKit
Bug Class LogicError
Severity medium
Commit 4b574bf8287b6b57…
Advisory Apple Advisory

Root Cause Analysis

Safe Browsing checks were asynchronous and could complete after the navigation policy decision had already proceeded to download. This allowed malicious downloads to start before the Safe Browsing warning was shown. Fix: decidePolicyForNavigationAction and decidePolicyForResponseShared now defer download decisions until whenSafeBrowsingCheckCompletes fires.

CVE-2026-28984
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Artem Dinaburg of Trail of Bits via Anthropic CVD

Attribute Value
CVE CVE-2026-28984
Bugzilla 311883
Component JSC
Bug Class LogicError
Severity medium
Commit eba64ef44de39509…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/ftl/FTLOperations.cpp

Test Files

  • JSTests/stress/ftl-osr-exit-phantom-new-array-with-butterfly-having-a-bad-time.js
CVE-2026-43658
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Do Young Park

Attribute Value
CVE CVE-2026-43658
Bugzilla 307669
Component JSC
Bug Class UAF
Severity medium
Commit 9a16de46f205d3c7…
Advisory Apple Advisory

Root Cause Analysis

WebAssembly BBQCallee could be freed while its OMGOSREntryCallee was still being referenced during callsite repatching, causing use-after-free. Fix: updateCallsitesToCallUs now keeps BBQCallee alive via keepAliveBBQCallees vector and only keeps OMGOSREntryCallee alive if the BBQ callee was not already tracked.

CVE-2026-43660
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may prevent Content Security Policy from being enforced

Researchers: Cantina

Attribute Value
CVE CVE-2026-43660
Bugzilla 308906
Component WebCore
Bug Class CSP Bypass
Severity medium
Commit f8ed382fb244cc24…
Advisory Apple Advisory

Root Cause Analysis

CSP blob URL iframe was only inheriting the last CSP header when a document had multiple enforced CSP headers. ContentSecurityPolicyResponseHeaders::addPolicyHeadersTo used setHTTPHeaderField which overwrote instead of appended.

CVE-2026-43670
May 13, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may bypass Content Security Policy

Researchers: lebr0nli of National Yang Ming Chiao Tung University, Security and Systems Lab

Attribute Value
CVE CVE-2026-43670
Bugzilla 309004
Component WebKit
Bug Class CSP Bypass
Severity high
Commit cb23cbdfde76d52c…
Advisory Apple Advisory

Root Cause Analysis

AudioWorklet and PaintWorklet did not inherit the owner document’s CSP, allowing eval() and remote script loading even when CSP blocked them. Fix: WorkletParameters now carries contentSecurityPolicyResponseHeaders; worklet global scopes call applyContentSecurityPolicyResponseHeaders() on creation. WorkerModuleScriptLoader now treats worklet destinations as script-src governed.

CVE-2026-20643
Mar 24, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may bypass Same Origin Policy

Researchers: Thomas Espach

Attribute Value
CVE CVE-2026-20643
Bugzilla 306050
Component WebCore
Bug Class CrossOrigin
Severity high
Commit b537a57c092d669f…
Advisory Apple Advisory

Root Cause Analysis

A cross-origin issue in the Navigation API was addressed with improved input validation.

Files Changed

Source Files

  • Source/WebCore/page/Navigation.cpp

Test Files

  • Tools/TestWebKitAPI/Tests/WebKit/WKWebView/NavigationAPI.mm
CVE-2026-20664
Mar 24, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Yeonghyeon Choi, Daniel Rhea, Söhnke Benedikt Fischedick (Tripton), Emrovsky & Switch3301, Yevhen Pervushyn

Attribute Value
CVE CVE-2026-20664
Bugzilla 306136
Component JSC
Bug Class LogicError
Severity medium
Commit 6b357f32c6075bb8…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/ArrayBuffer.cpp
  • Source/JavaScriptCore/runtime/JSArrayBufferView.h
  • Source/JavaScriptCore/runtime/JSArrayBufferViewInlines.h

Test Files

  • JSTests/wasm/stress/resizable-buffer-grow-view-refresh.js
CVE-2026-20665
Mar 24, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may prevent Content Security Policy from being enforced

Researchers: webb

Attribute Value
CVE CVE-2026-20665
Bugzilla 304951
Component WebCore
Bug Class LogicError
Severity medium
Commit b4390e8352b7dc2e…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/WebCore/loader/DocumentWriter.cpp

Test Files

  • LayoutTests/http/tests/security/contentSecurityPolicy/iframe-srcdoc-import-bypass-expected.txt
  • LayoutTests/http/tests/security/contentSecurityPolicy/iframe-srcdoc-import-bypass.html
  • LayoutTests/http/tests/security/contentSecurityPolicy/resources/module-pass.py
  • LayoutTests/imported/w3c/web-platform-tests/content-security-policy/inheritance/inheritance-from-initiator.sub-expected.txt
CVE-2026-20691
Mar 24, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A maliciously crafted webpage may be able to fingerprint the user

Researchers: Gongyu Ma (@Mezone0)

Attribute Value
CVE CVE-2026-20691
Bugzilla 306827
Component WebKit
Bug Class LogicError
Severity medium
Commit dfe2e0efc8182466…
Advisory Apple Advisory

Root Cause Analysis

An authorization issue was addressed with improved state management.

Files Changed

Source Files

  • Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.cpp
  • Source/WebKit/NetworkProcess/NetworkResourceLoadParameters.h
  • Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
CVE-2026-28857
Mar 24, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Minse Kim, Narcis Oliveras Fontàs, Söhnke Benedikt Fischedick (Tripton), Daniel Rhea, Nathaniel Oh (@calysteon)

Attribute Value
CVE CVE-2026-28857
Bugzilla 307723
Component JSC
Bug Class LogicError
Severity medium
Commit 4c82252b8b2face3…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h

Test Files

  • JSTests/stress/growable-sharedarraybuffer-parallel-grow-during-prototype-methods.js
CVE-2026-28859
Mar 24, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may be able to process restricted web content outside the sandbox

Researchers: greenbynox, Arni Hardarson, and an anonymous researcher

Attribute Value
CVE CVE-2026-28859
Bugzilla 308248
Component WebKit
Bug Class SandboxEscape
Severity medium
Commit 6aacf62000967a62…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebKit/GPUProcess/graphics/RemoteGraphicsContext.cpp
CVE-2026-28861
Mar 24, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may be able to access script message handlers intended for other origins

Researchers: Hongze Wu and Shuaike Dong from Ant Group Infrastructure Security Team, and webb

Attribute Value
CVE CVE-2026-28861
Bugzilla 307014
Component WebCore
Bug Class LogicError
Severity medium
Commit 795ef8a1ac92461c…
Advisory Apple Advisory

Root Cause Analysis

A logic issue was addressed with improved state management.

Files Changed

Source Files

  • Source/WebCore/page/UserMessageHandler.cpp
  • Source/WebCore/page/UserMessageHandler.h
  • Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp

Test Files

  • Tools/TestWebKitAPI/Tests/WebKit/WKWebView/WKWebViewEvaluateJavaScript.mm
CVE-2026-28871
Mar 24, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a maliciously crafted website may lead to a cross-site scripting attack

Researchers: @hamayanhamayan

Attribute Value
CVE CVE-2026-28871
Bugzilla 305859
Component WebCore
Bug Class LogicError
Severity medium
Commit 59efb640749a3024…
Advisory Apple Advisory

Root Cause Analysis

A logic issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/dom/DOMImplementation.cpp
  • Source/WebCore/platform/MIMETypeRegistry.cpp
  • Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm

Test Files

  • LayoutTests/media/iframe-load-html-as-m2ts-expected.txt
  • LayoutTests/media/iframe-load-html-as-m2ts.html
CVE-2026-20608
Feb 11, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

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

Attribute Value
CVE CVE-2026-20608
Bugzilla 303357
Component JSC
Bug Class LogicError
Severity medium
Commit 672cdd38781cce18…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/PropertyTable.cpp

Test Files

  • JSTests/stress/private-names-seal-freeze.js
CVE-2026-20635
Feb 11, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: EntryHi

Attribute Value
CVE CVE-2026-20635
Bugzilla 304661
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Fix not public. The WebKit fix for this bug is embargoed or not yet disclosed. The bug ID is confirmed from the Apple advisory, but no public commit references it.

Root Cause Analysis

The issue was addressed with improved memory handling.

CVE-2026-20636
Feb 11, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: EntryHi

Attribute Value
CVE CVE-2026-20636
Bugzilla 304657
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Fix not public. The WebKit fix for this bug is embargoed or not yet disclosed. The bug ID is confirmed from the Apple advisory, but no public commit references it.

Root Cause Analysis

The issue was addressed with improved memory handling.

CVE-2026-20644
Feb 11, 2026

Overview

Advisory: Apple Security Advisory

Impact:

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

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

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

Root Cause Analysis

The issue was addressed with improved memory handling.

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
CVE-2026-20652
Feb 11, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A remote attacker may be able to cause a denial-of-service

Researchers: Nathaniel Oh (@calysteon)

Attribute Value
CVE CVE-2026-20652
Bugzilla 303959
Component WebCore
Bug Class LogicError
Severity medium
Commit 7afdc436a98c9771…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/platform/audio/AudioResamplerKernel.cpp
CVE-2026-20676
Feb 11, 2026

Overview

Advisory: Apple Security Advisory

Impact:

Description: A website may be able to track users through Safari web extensions

Researchers: Tom Van Goethem

Attribute Value
CVE CVE-2026-20676
Bugzilla 305020
Component WebCore
Bug Class LogicError
Severity medium
Commit 0f4832ce0eea25af…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/WebCore/xml/XMLSerializer.cpp

Test Files

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebViewConfiguration.mm
CVE-2024-8906
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A download’s origin may be incorrectly associated

Researchers: @retsew0x01

Attribute Value
CVE CVE-2024-8906
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

This is a vulnerability in open source code and Apple Software is among the affected projects. The CVE-ID was assigned by a third party. Learn more about the issue and CVE-ID at cve.org .

CVE-2025-14174
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption. Apple is aware of a report that this issue may have been exploited in an extremely sophisticated attack against specific targeted individuals on versions of iOS before iOS 26. CVE-2025-43529 was also issued in response to this report.

Researchers: Apple and Google Threat Analysis Group

Attribute Value
CVE CVE-2025-14174
Bugzilla 303614
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Fix not public. The WebKit fix for this bug is embargoed or not yet disclosed. The bug ID is confirmed from the Apple advisory, but no public commit references it.

CVE-2025-43501
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Hossein Lotfi (@hosselot) of Trend Micro Zero Day Initiative

Attribute Value
CVE CVE-2025-43501
Bugzilla 301371
Component WTF
Bug Class IntegerOverflow
Severity medium
Commit ad4544045d66266c…
Advisory Apple Advisory

Root Cause Analysis

A buffer overflow issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WTF/wtf/HashTable.h
CVE-2025-43511
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: 이동하 (Lee Dong Ha of BoB 14th)

Attribute Value
CVE CVE-2025-43511
Bugzilla 300926
Component WebCore
Bug Class UAF
Severity medium
Commit bb6619c2421179b0…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebCore/inspector/agents/InspectorAnimationAgent.cpp
  • Source/WebCore/inspector/agents/InspectorAnimationAgent.h
CVE-2025-43529
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been exploited in an extremely sophisticated attack against specific targeted individuals on versions of iOS before iOS 26. CVE-2025-14174 was also issued in response to this report.

Researchers: Google Threat Analysis Group

Attribute Value
CVE CVE-2025-43529
Bugzilla 302502
Component JSC
Bug Class UAF
Severity critical
Commit b21a503b579a8ab1…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

CVE-2025-43531
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Phil Pizlo of Epic Games

Attribute Value
CVE CVE-2025-43531
Bugzilla 301940
Component bmalloc
Bug Class Race
Severity medium
Commit 39a5ac27139893e6…
Advisory Apple Advisory

Root Cause Analysis

A race condition was addressed with improved state handling.

Files Changed

Source Files

  • Source/bmalloc/libpas/src/libpas/pas_local_allocator_inlines.h
  • Source/bmalloc/libpas/src/libpas/pas_segregated_heap.c
  • Source/bmalloc/libpas/src/libpas/pas_segregated_heap.h

Test Files

  • Source/bmalloc/libpas/src/test/ExpendableMemoryTests.cpp
CVE-2025-43535
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Google Big Sleep, Nan Wang (@eternalsakura13)

Attribute Value
CVE CVE-2025-43535
Bugzilla 300774
Component JSC
Bug Class LogicError
Severity medium
Commit 26d50a4d4b2df76c…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp

Test Files

  • JSTests/wasm/stress/bbq-array-set-consume.js
CVE-2025-43536
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Nan Wang (@eternalsakura13)

Attribute Value
CVE CVE-2025-43536
Bugzilla 301726
Component JSC
Bug Class UAF
Severity medium
Commit 1025bd18c9c7bd3d…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/JavaScriptCore/bytecode/CodeBlock.cpp
CVE-2025-43541
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Hossein Lotfi (@hosselot) of Trend Micro Zero Day Initiative

Attribute Value
CVE CVE-2025-43541
Bugzilla 301257
Component JSC
Bug Class TypeConfusion
Severity medium
Commit ef1aba9e847aa7b6…
Advisory Apple Advisory

Root Cause Analysis

A type confusion issue was addressed with improved state handling.

Files Changed

Source Files

  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

Test Files

  • JSTests/stress/data-view-byte-length-oob-exit.js
CVE-2025-46282
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: An app may be able to access sensitive user data

Researchers: Wojciech Regula of SecuRing (wojciechregula.blog)

Attribute Value
CVE CVE-2025-46282
Bugzilla 295941
Component WebKit
Bug Class LogicError
Severity high
Commit 50b0e0bcc62b2450…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with additional permissions checks.

Files Changed

Source Files

  • Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.cpp
  • Source/WebKit/UIProcess/WebPageProxy.cpp
  • Source/WebKit/UIProcess/WebPageProxy.h

Test Files

  • Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
  • Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/NotificationAPI.mm
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/example.webarchive
CVE-2025-46298
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Hossein Lotfi (@hosselot) of Trend Micro Zero Day Initiative, Nan Wang (@eternalsakura13)

Attribute Value
CVE CVE-2025-46298
Bugzilla 301468
Component JSC
Bug Class LogicError
Severity medium
Commit a1a6185cc83ec556…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp

Test Files

  • JSTests/stress/array-sink-conditional-initialization.js
  • JSTests/stress/array-sink-diamond-initialization-then-read.js
  • JSTests/stress/array-sink-read-uninitialized-hole.js
CVE-2025-46299
Dec 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may disclose internal states of the app

Researchers: Google Big Sleep

Attribute Value
CVE CVE-2025-46299
Bugzilla 299518
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Fix not public. The WebKit fix for this bug is embargoed or not yet disclosed. The bug ID is confirmed from the Apple advisory, but no public commit references it.

Root Cause Analysis

A memory initialization issue was addressed with improved memory handling.

CVE-2025-43392
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A website may exfiltrate image data cross-origin

Researchers: Tom Van Goethem

Attribute Value
CVE CVE-2025-43392
Bugzilla 297566
Component WebCore
Bug Class CrossOrigin
Severity medium
Commit 569f9f07502847a5…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved handling of caches.

Files Changed

Source Files

  • Source/WebCore/html/OffscreenCanvas.cpp
  • Source/WebCore/html/canvas/PlaceholderRenderingContext.cpp
  • Source/WebCore/html/canvas/PlaceholderRenderingContext.h

Test Files

  • LayoutTests/http/tests/security/offscreen-canvas-remote-read-remote-image-expected.txt
  • LayoutTests/http/tests/security/offscreen-canvas-remote-read-remote-image.html
CVE-2025-43421
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Nan Wang (@eternalsakura13)

Attribute Value
CVE CVE-2025-43421
Bugzilla 300718
Component JSC
Bug Class LogicError
Severity medium
Commit 56f026944a16a4ba…
Advisory Apple Advisory

Root Cause Analysis

Multiple issues were addressed by disabling array allocation sinking.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/OptionsList.h
CVE-2025-43425
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2025-43425
Bugzilla 298851
Component JSC
Bug Class LogicError
Severity medium
Commit fcd2a8fc20dda5aa…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGCloneHelper.cpp
  • Source/JavaScriptCore/dfg/DFGCloneHelper.h

Test Files

  • JSTests/stress/loop-unrolling-multi-get-and-put-by-offset.js
CVE-2025-43427
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Gary Kwong, rheza (@ginggilBesel)

Attribute Value
CVE CVE-2025-43427
Bugzilla 298628
Component JSC
Bug Class LogicError
Severity medium
Commit 127c1d5c4d40d679…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h
  • Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
  • Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
  • Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
  • Source/JavaScriptCore/runtime/CachedTypes.cpp

Test Files

  • JSTests/stress/switch-imm-int32-max.js
CVE-2025-43429
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Google Big Sleep

Attribute Value
CVE CVE-2025-43429
Bugzilla 298232
Component JSC
Bug Class IntegerOverflow
Severity medium
Commit 7a45348e0e20683e…
Advisory Apple Advisory

Root Cause Analysis

A buffer overflow was addressed with improved bounds checking.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/StringPrototype.cpp
  • Source/WTF/wtf/unicode/icu/ICUHelpers.h
CVE-2025-43430
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Google Big Sleep

Attribute Value
CVE CVE-2025-43430
Bugzilla 298196
Component JSC
Bug Class LogicError
Severity medium
Commit b107f7698299c89d…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

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

Test Files

  • JSTests/wasm/stress/ipint-bbq-osr-check-try-implicit-slot-overlap.js
CVE-2025-43431
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Google Big Sleep

Attribute Value
CVE CVE-2025-43431
Bugzilla 298194
Component JSC
Bug Class LogicError
Severity medium
Commit d4b9e6993567d3c3…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/js/JSWebAssemblyArrayInlines.h
  • Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp
  • Source/JavaScriptCore/wasm/js/JSWebAssemblyStruct.h
  • Source/JavaScriptCore/wasm/js/WebAssemblyGCStructure.cpp
  • Source/JavaScriptCore/wasm/js/WebAssemblyGCStructure.h

Test Files

  • JSTests/wasm/regress/298194.js
  • JSTests/wasm/spec-harness/wasm-module-builder-gc.js
CVE-2025-43432
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Hossein Lotfi (@hosselot) of Trend Micro Zero Day Initiative

Attribute Value
CVE CVE-2025-43432
Bugzilla 299313
Component JSC
Bug Class UAF
Severity medium
Commit d329e095fc8c1874…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmFunctionParser.h
CVE-2025-43433
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Google Big Sleep

Attribute Value
CVE CVE-2025-43433
Bugzilla 298093
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Fix not public. The WebKit fix for this bug is embargoed or not yet disclosed. The bug ID is confirmed from the Apple advisory, but no public commit references it.

Root Cause Analysis

The issue was addressed with improved memory handling.

CVE-2025-43434
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Google Big Sleep

Attribute Value
CVE CVE-2025-43434
Bugzilla 297958
Component JSC
Bug Class UAF
Severity medium
Commit ef9304e0e82bf304…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmGlobal.h
  • Source/JavaScriptCore/wasm/WasmTable.cpp
  • Source/JavaScriptCore/wasm/WasmTable.h
  • Source/JavaScriptCore/wasm/WasmTypeDefinition.h
  • Source/JavaScriptCore/wasm/WasmTypeDefinitionInlines.h
CVE-2025-43435
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Justin Cohen of Google

Attribute Value
CVE CVE-2025-43435
Bugzilla 299391
Component WebCore
Bug Class LogicError
Severity medium
Commit cd945f0c3fe21294…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/platform/cocoa/WebAVPlayerLayerView.mm
CVE-2025-43438
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: rheza (@ginggilBesel), shandikri working with Trend Micro Zero Day Initiative

Attribute Value
CVE CVE-2025-43438
Bugzilla 297662
Component JSC
Bug Class UAF
Severity medium
Commit 045fd8ec92379f84…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/JavaScriptCore/bytecode/SpeculatedType.cpp
  • Source/JavaScriptCore/bytecode/SpeculatedType.h
  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
  • Source/JavaScriptCore/dfg/DFGUseKind.h
  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
  • Source/JavaScriptCore/runtime/JSType.h

Test Files

  • JSTests/stress/map-set-iterator-speculated-types.js
CVE-2025-43440
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Nan Wang (@eternalsakura13)

Attribute Value
CVE CVE-2025-43440
Bugzilla 298126
Component JSC
Bug Class LogicError
Severity medium
Commit 78b31d59089f6578…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed with improved checks

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp
CVE-2025-43441
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: rheza (@ginggilBesel)

Attribute Value
CVE CVE-2025-43441
Bugzilla 298496
Component JSC
Bug Class LogicError
Severity medium
Commit 11eaa3910d44873a…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

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

Test Files

  • JSTests/wasm/stress/omg-tail-call-clobber-scratch-register.js
CVE-2025-43443
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2025-43443
Bugzilla 299843
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Fix not public. The WebKit fix for this bug is embargoed or not yet disclosed. The bug ID is confirmed from the Apple advisory, but no public commit references it.

Root Cause Analysis

This issue was addressed with improved checks.

CVE-2025-43457
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Gary Kwong, Hossein Lotfi (@hosselot) of Trend Micro Zero Day Initiative

Attribute Value
CVE CVE-2025-43457
Bugzilla 298606
Component JSC
Bug Class UAF
Severity medium
Commit f014a32890763b13…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
  • Source/JavaScriptCore/dfg/DFGBackwardsPropagationPhase.cpp
  • Source/JavaScriptCore/dfg/DFGClobberize.h
  • Source/JavaScriptCore/dfg/DFGCloneHelper.h
  • Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp
  • Source/JavaScriptCore/dfg/DFGDoesGC.cpp
  • Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
  • Source/JavaScriptCore/dfg/DFGLoopUnrollingPhase.cpp
  • Source/JavaScriptCore/dfg/DFGMayExit.cpp
  • Source/JavaScriptCore/dfg/DFGNode.cpp
  • Source/JavaScriptCore/dfg/DFGNode.h
  • Source/JavaScriptCore/dfg/DFGNodeType.h
  • Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp
  • Source/JavaScriptCore/dfg/DFGObjectMaterializationData.h
  • Source/JavaScriptCore/dfg/DFGOperations.cpp
  • Source/JavaScriptCore/dfg/DFGOperations.h
  • Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp
  • Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h
  • Source/JavaScriptCore/dfg/DFGSafeToExecute.h
  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
  • Source/JavaScriptCore/dfg/DFGStoreBarrierInsertionPhase.cpp
  • Source/JavaScriptCore/dfg/DFGUseKind.h
  • Source/JavaScriptCore/dfg/DFGValidate.cpp
  • Source/JavaScriptCore/ftl/FTLCapabilities.cpp
  • Source/JavaScriptCore/ftl/FTLExitTimeObjectMaterialization.cpp
  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
  • Source/JavaScriptCore/ftl/FTLOperations.cpp
  • Source/JavaScriptCore/runtime/IndexingType.cpp
  • Source/JavaScriptCore/runtime/IndexingType.h

Test Files

  • JSTests/stress/array-allocation-elimination-closure-capture.js
  • JSTests/stress/array-allocation-elimination-conditional-usage.js
  • JSTests/stress/array-allocation-elimination-cross-function.js
CVE-2025-43458
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Phil Beauvoir

Attribute Value
CVE CVE-2025-43458
Bugzilla 296693
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Fix not public. The WebKit fix for this bug is embargoed or not yet disclosed. The bug ID is confirmed from the Apple advisory, but no public commit references it.

Root Cause Analysis

This issue was addressed through improved state management.

CVE-2025-43480
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may exfiltrate data cross-origin

Researchers: Aleksejs Popovs

Attribute Value
CVE CVE-2025-43480
Bugzilla 276208
Component WebCore
Bug Class CrossOrigin
Severity medium
Commit 0473037b55025aeb…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/loader/MediaResourceLoader.cpp
  • Source/WebCore/loader/MediaResourceLoader.h

Test Files

  • LayoutTests/http/tests/media/resources/hls/.htaccess
  • LayoutTests/http/tests/performance/performance-resource-timing-cross-origin-media-expected.txt
  • LayoutTests/http/tests/performance/performance-resource-timing-cross-origin-media-with-cors-expected.txt
  • LayoutTests/http/tests/performance/performance-resource-timing-cross-origin-media-with-cors.html
  • LayoutTests/http/tests/performance/performance-resource-timing-cross-origin-media.html
  • LayoutTests/platform/glib/TestExpectations
  • LayoutTests/platform/win/TestExpectations
CVE-2025-43493
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a malicious website may lead to address bar spoofing

Researchers: @RenwaX23

Attribute Value
CVE CVE-2025-43493
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2025-43502
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: An app may be able to bypass certain Privacy preferences

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2025-43502
Bugzilla None
Component WebKit
Bug Class LogicError
Severity high
Advisory Apple Advisory

Root Cause Analysis

A privacy issue was addressed by removing sensitive data.

CVE-2025-43503
Nov 3, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a malicious website may lead to user interface spoofing

Researchers: @RenwaX23

Attribute Value
CVE CVE-2025-43503
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

An inconsistent user interface issue was addressed with improved state management.

CVE-2025-31254
Sep 15, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to unexpected URL redirection

Researchers: Evan Waelde

Attribute Value
CVE CVE-2025-31254
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed with improved URL validation.

CVE-2025-43272
Sep 15, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Big Bear

Attribute Value
CVE CVE-2025-43272
Bugzilla 294550
Component WebCore
Bug Class LogicError
Severity medium
Commit fa85413077accf8c…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/Modules/url-pattern/URLPatternTokenizer.cpp

Test Files

  • LayoutTests/fast/url/urlpattern-invalid-pattern.html
CVE-2025-43327
Sep 15, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a malicious website may lead to address bar spoofing

Researchers: @RenwaX23

Attribute Value
CVE CVE-2025-43327
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed by adding additional logic.

CVE-2025-43342
Sep 15, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2025-43342
Bugzilla 296042
Component JSC
Bug Class LogicError
Severity medium
Commit 8b9fc1b8515151cc…
Advisory Apple Advisory

Root Cause Analysis

A correctness issue was addressed with improved checks.

Files Changed

Source Files

  • Source/JavaScriptCore/bytecode/BytecodeList.rb
  • Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp
  • Source/JavaScriptCore/llint/LLIntOpcode.h
  • Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
  • Source/JavaScriptCore/llint/LowLevelInterpreter64.asm

Test Files

  • JSTests/stress/instanceof-osr-exit-hasInstance-getter.js
  • JSTests/stress/instanceof-osr-exit-prototype-getter.js
CVE-2025-43343
Sep 15, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2025-43343
Bugzilla 296490
Component JSC
Bug Class LogicError
Severity medium
Commit 899a38cf9a50a555…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp

Test Files

  • JSTests/wasm/stress/omg-osr-stack-slot-positioning.js
CVE-2025-43356
Sep 15, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A website may be able to access sensor information without user consent

Researchers: Jaydev Ahire

Attribute Value
CVE CVE-2025-43356
Bugzilla 296153
Component WebKit
Bug Class LogicError
Severity medium
Commit c420ed2f891b1948…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved handling of caches.

Files Changed

Source Files

  • Source/WebKit/UIProcess/WebPageProxy.cpp

Test Files

  • Tools/TestWebKitAPI/Tests/WebKit/GetUserMedia.mm
  • Tools/TestWebKitAPI/Tests/WebKitCocoa/media-session-capture.html
CVE-2025-43368
Sep 15, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Pawel Wylecial of REDTEAM.PL working with Trend Micro Zero Day Initiative, Ignacio Sanmillan (@ulexec)

Attribute Value
CVE CVE-2025-43368
Bugzilla 296276
Component WebKit
Bug Class UAF
Severity medium
Commit 674611789255a98f…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebKit/Platform/IPC/Connection.cpp
  • Source/WebKit/Platform/IPC/Connection.h
CVE-2025-43376
Sep 15, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A remote attacker may be able to view leaked DNS queries with Private Relay turned on

Researchers: Mike Cardwell of grepular.com, Bob Lord

Attribute Value
CVE CVE-2025-43376
Bugzilla 295943
Component WebCore
Bug Class LogicError
Severity medium
Commit 5247bc4ad4b98d16…
Advisory Apple Advisory

Root Cause Analysis

A logic issue was addressed with improved state management.

Files Changed

Source Files

  • Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h
  • Source/WebCore/platform/network/cf/DNSResolveQueueCFNet.cpp
CVE-2025-43419
Sep 15, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Ignacio Sanmillan (@ulexec)

Attribute Value
CVE CVE-2025-43419
Bugzilla 293895
Component WebKit
Bug Class LogicError
Severity medium
Commit bcb47de34ff759fc…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/ThirdParty/ANGLE/.gn
  • Source/ThirdParty/ANGLE/ANGLE.plist
  • Source/ThirdParty/ANGLE/CONTRIBUTORS
  • Source/ThirdParty/ANGLE/DEPS
  • Source/ThirdParty/ANGLE/GLESv2.cmake
  • Source/ThirdParty/ANGLE/WATCHLISTS
  • Source/ThirdParty/ANGLE/WebKit/ANGLEShaderProgramVersion.h
  • Source/ThirdParty/ANGLE/WebKit/angle_commit.h
  • Source/ThirdParty/ANGLE/changes.diff
  • Source/ThirdParty/ANGLE/doc/ExtensionSupport.md
  • Source/ThirdParty/ANGLE/extensions/EGL_ANGLE_device_webgpu.txt
  • Source/ThirdParty/ANGLE/extensions/EGL_ANGLE_platform_angle_webgpu.txt
  • Source/ThirdParty/ANGLE/extensions/EGL_ANGLE_webgpu_texture_client_buffer.txt
  • Source/ThirdParty/ANGLE/gni/angle.gni
  • Source/ThirdParty/ANGLE/include/EGL/eglext_angle.h
  • Source/ThirdParty/ANGLE/include/GLES2/gl2ext.h
  • Source/ThirdParty/ANGLE/include/GLES2/gl2ext_angle.h
  • Source/ThirdParty/ANGLE/include/export.h
  • Source/ThirdParty/ANGLE/include/platform/Feature.h
  • Source/ThirdParty/ANGLE/include/platform/autogen/FeaturesVk_autogen.h
  • Source/ThirdParty/ANGLE/include/platform/autogen/FeaturesWgpu_autogen.h
  • Source/ThirdParty/ANGLE/include/platform/gen_features.py
  • Source/ThirdParty/ANGLE/include/platform/vk_features.json
  • Source/ThirdParty/ANGLE/include/platform/wgpu_features.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/Extension_files.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/GL_CTS_(dEQP)_build_files.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/GL_EGL_WGL_loader.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/GL_EGL_entry_points.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/GLenum_value_to_string_map.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/OpenGL_dispatch_table.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/SPIR-V_helpers.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/WebGPU_format.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/interpreter_utils.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/packed_enum.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/proc_table.json
  • Source/ThirdParty/ANGLE/scripts/code_generation_hashes/restricted_traces.json
  • Source/ThirdParty/ANGLE/scripts/generate_entry_points.py
  • Source/ThirdParty/ANGLE/scripts/registry_xml.py
  • Source/ThirdParty/ANGLE/scripts/roll_aosp.sh
  • Source/ThirdParty/ANGLE/src/android_system_settings/res/layout/fragment.xml
  • Source/ThirdParty/ANGLE/src/android_system_settings/src/com/android/angle/AndroidManifest.xml
  • Source/ThirdParty/ANGLE/src/android_system_settings/src/com/android/angle/MainActivity.java
  • Source/ThirdParty/ANGLE/src/android_system_settings/src/com/android/angle/common/MainFragment.java
  • Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.cpp
  • Source/ThirdParty/ANGLE/src/common/PackedGLEnums_autogen.h
  • Source/ThirdParty/ANGLE/src/common/angleutils.cpp
  • Source/ThirdParty/ANGLE/src/common/angleutils.h
  • Source/ThirdParty/ANGLE/src/common/gl_enum_utils_autogen.cpp
  • Source/ThirdParty/ANGLE/src/common/packed_gl_enums.json
  • Source/ThirdParty/ANGLE/src/common/system_utils.h
  • Source/ThirdParty/ANGLE/src/common/utilities.cpp
  • Source/ThirdParty/ANGLE/src/compiler/translator/CollectVariables.cpp
  • Source/ThirdParty/ANGLE/src/compiler/translator/ParseContext.cpp
  • Source/ThirdParty/ANGLE/src/compiler/translator/Types.h
  • Source/ThirdParty/ANGLE/src/compiler/translator/msl/EmitMetal.cpp
  • Source/ThirdParty/ANGLE/src/compiler/translator/msl/ProgramPrelude.cpp
  • Source/ThirdParty/ANGLE/src/compiler/translator/spirv/TranslatorSPIRV.cpp
  • Source/ThirdParty/ANGLE/src/gpu_info_util/SystemInfo.h
  • Source/ThirdParty/ANGLE/src/libANGLE/Buffer.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/Buffer.h
  • Source/ThirdParty/ANGLE/src/libANGLE/Caps.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/Caps.h
  • Source/ThirdParty/ANGLE/src/libANGLE/Context.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/Context.h
  • Source/ThirdParty/ANGLE/src/libANGLE/Context.inl.h
  • Source/ThirdParty/ANGLE/src/libANGLE/Context_gles_ext_autogen.h
  • Source/ThirdParty/ANGLE/src/libANGLE/ErrorStrings.h
  • Source/ThirdParty/ANGLE/src/libANGLE/Framebuffer.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/State.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/Texture.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/Texture.h
  • Source/ThirdParty/ANGLE/src/libANGLE/TransformFeedback.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/VertexArray.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/VertexArray.h
  • Source/ThirdParty/ANGLE/src/libANGLE/VertexArray_unittest.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/angletypes.h
  • Source/ThirdParty/ANGLE/src/libANGLE/capture/capture_gles_ext_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/capture/capture_gles_ext_autogen.h
  • Source/ThirdParty/ANGLE/src/libANGLE/capture/capture_gles_ext_params.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/gles_extensions_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/gles_extensions_autogen.h
  • Source/ThirdParty/ANGLE/src/libANGLE/queryutils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/VertexArrayImpl.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Query11.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/Query9.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/driver_utils.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/ContextGL.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DispatchTableGL_autogen.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/QueryGL.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/QueryGL.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/functionsgl_typedefs.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/gl_bindings_data.json
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/null_functions.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/null_functions.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ProvokingVertexHelper.mm
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/VertexArrayMtl.mm
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_command_buffer.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_command_buffer.mm
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ContextVk.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ContextVk.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ProgramExecutableVk.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ProgramExecutableVk.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/TextureVk.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/UtilsVk.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/spv_utils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/spv_utils.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_format_utils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_helpers.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_helpers.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_renderer.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_renderer.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_utils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_utils.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/BUILD.gn
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/BufferWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/ContextWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/ContextWgpu.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/DeviceWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/DisplayWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/DisplayWgpu.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/ImageWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/ImageWgpu.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/ProgramExecutableWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/ProgramWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/RenderbufferWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/RenderbufferWgpu.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/SurfaceWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/SurfaceWgpu.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/TextureWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/TextureWgpu.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/VertexArrayWgpu.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/linux/x11/WindowSurfaceWgpuX11.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/mac/WindowSurfaceWgpuMetalLayer.mm
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_command_buffer.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_command_buffer.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_format_map.json
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_format_table_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_format_utils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_format_utils.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_helpers.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_helpers.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_pipeline_state.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_proc_utils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_proc_utils.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_sources.gni
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_utils.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_utils.h
  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/win32/WindowSurfaceWgpuWin32.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/validationES.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/validationES2.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/validationES31.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/validationES31.h
  • Source/ThirdParty/ANGLE/src/libANGLE/validationESEXT.cpp
  • Source/ThirdParty/ANGLE/src/libANGLE/validationESEXT_autogen.h
  • Source/ThirdParty/ANGLE/src/libGLESv2.gni
  • Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_gles_1_0_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_gles_2_0_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_gles_3_0_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_gles_3_1_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_gles_3_2_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_gles_ext_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_gles_ext_autogen.h
  • Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2_autogen.cpp
  • Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2_autogen.def
  • Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2_no_capture_autogen.def
  • Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2_vulkan_secondaries_autogen.def
  • Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2_with_capture_autogen.def
  • Source/ThirdParty/ANGLE/util/autogen/angle_features_autogen.cpp
  • Source/ThirdParty/ANGLE/util/autogen/angle_features_autogen.h
  • Source/ThirdParty/ANGLE/util/capture/frame_capture_replay_autogen.cpp

Test Files

  • Source/ThirdParty/ANGLE/src/tests/BUILD.gn
  • Source/ThirdParty/ANGLE/src/tests/angle_end2end_tests.gni
  • Source/ThirdParty/ANGLE/src/tests/angle_end2end_tests_expectations.txt
  • Source/ThirdParty/ANGLE/src/tests/compiler_tests/Parse_test.cpp
  • Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp.gni
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/ClearTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/ErrorMessages.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/GLSLTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/GLSLUBTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/ImageTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/MipmapTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/MultiDrawTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/SyncQueriesTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/TextureTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/TransformFeedbackTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/gl_tests/WebGLCompatibilityTest.cpp
  • Source/ThirdParty/ANGLE/src/tests/restricted_traces/restricted_trace_perf.py
  • Source/ThirdParty/ANGLE/src/tests/restricted_traces/restricted_traces.json
  • Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_instantiate.cpp
  • Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_platform.cpp
  • Source/ThirdParty/ANGLE/src/tests/test_utils/angle_test_platform.h
CVE-2025-24188
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Andreas Jaegersberger & Ro Achterberg of Nosebeard Labs

Attribute Value
CVE CVE-2025-24188
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A logic issue was addressed with improved checks.

CVE-2025-31273
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Yuhao Hu, Yan Kang, Chenggang Wu, and Xiaojie Wei

Attribute Value
CVE CVE-2025-31273
Bugzilla 293579
Component JSC
Bug Class LogicError
Severity medium
Commit a05032c6961001c2…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/OrderedHashTableHelper.h
CVE-2025-31277
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Yuhao Hu, Yan Kang, Chenggang Wu, and Xiaojie Wei

Attribute Value
CVE CVE-2025-31277
Bugzilla 291745
Component JSC
Bug Class LogicError
Severity medium
Commit 716536ce98d6f8d4…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/JSGlobalObjectInlines.h

Test Files

  • JSTests/stress/regexp-matches-array-should-respect-have-a-bad-time.js
CVE-2025-31278
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Yuhao Hu, Yan Kang, Chenggang Wu, and Xiaojie Wei

Attribute Value
CVE CVE-2025-31278
Bugzilla 291742
Component JSC
Bug Class LogicError
Severity medium
Commit 90aa8070e1b674f9…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGAvailabilityMap.cpp
  • Source/JavaScriptCore/dfg/DFGAvailabilityMap.h
  • Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp
  • Source/JavaScriptCore/dfg/DFGPutStackSinkingPhase.cpp
  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
  • Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp

Test Files

  • JSTests/stress/osr-availability-heap-materialization-clobbered.js
CVE-2025-43211
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing web content may lead to a denial-of-service

Researchers: Yuhao Hu, Yan Kang, Chenggang Wu, and Xiaojie Wei

Attribute Value
CVE CVE-2025-43211
Bugzilla 293730
Component JSC
Bug Class LogicError
Severity medium
Commit 58218eebdaf5770a…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp

Test Files

  • JSTests/stress/string-replace-speculate-string.js
CVE-2025-43212
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Nan Wang (@eternalsakura13) and Ziling Chen

Attribute Value
CVE CVE-2025-43212
Bugzilla 293197
Component JSC
Bug Class LogicError
Severity medium
Commit 240b9cb9889168bc…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp

Test Files

  • JSTests/wasm/stress/omg-tail-call-to-function-with-less-arguments.js
CVE-2025-43213
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Google V8 Security Team

Attribute Value
CVE CVE-2025-43213
Bugzilla 292621
Component JSC
Bug Class LogicError
Severity medium
Commit 946696720edc253e…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/llint/WebAssembly.asm
  • Source/JavaScriptCore/wasm/js/JSToWasm.cpp
CVE-2025-43214
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: shandikri working with Trend Micro Zero Day Initiative, Google V8 Security Team

Attribute Value
CVE CVE-2025-43214
Bugzilla 292599
Component JSC
Bug Class LogicError
Severity medium
Commit 666190cff29d03c1…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/llint/InPlaceInterpreter64.asm
  • Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp
  • Source/JavaScriptCore/wasm/WasmIPIntGenerator.h

Test Files

  • JSTests/wasm/stress/wasm-try-table-catching-backwards.js
CVE-2025-43216
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Ignacio Sanmillan (@ulexec)

Attribute Value
CVE CVE-2025-43216
Bugzilla 295382
Component WebCore
Bug Class UAF
Severity medium
Commit 4637324afb310494…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebCore/platform/audio/HRTFDatabaseLoader.cpp
CVE-2025-43227
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may disclose sensitive user information

Researchers: Gilad Moav, Yehuda Afek, Anat Bremler-Barr, and Amit Klein

Attribute Value
CVE CVE-2025-43227
Bugzilla 292888
Component WTF
Bug Class LogicError
Severity medium
Commit c3811ccef9594d3a…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/WTF/wtf/URL.cpp

Test Files

  • LayoutTests/http/tests/security/block-connection-to-zero-port.https-expected.txt
  • LayoutTests/http/tests/security/block-connection-to-zero-port.https.html
  • LayoutTests/platform/gtk-wk2/security/block-test-expected.txt
  • LayoutTests/platform/wpe/security/block-test-expected.txt
CVE-2025-43228
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a malicious website may lead to address bar spoofing

Researchers: Jaydev Ahire

Attribute Value
CVE CVE-2025-43228
Bugzilla 294374
Component WebKit
Bug Class LogicError
Severity medium
Commit 632a293bf7754147…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved UI.

Files Changed

Source Files

  • Source/WebKit/UIProcess/PageClient.h
  • Source/WebKit/UIProcess/WebPageProxy.cpp
  • Source/WebKit/UIProcess/ios/PageClientImplIOS.h
  • Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
CVE-2025-43229
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to universal cross site scripting

Researchers: Martin Bajanik of Fingerprint, Ammar Askar

Attribute Value
CVE CVE-2025-43229
Bugzilla 285927
Component WebKit
Bug Class LogicError
Severity medium
Commit feb7725d8aedfa96…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/WebKit/UIProcess/WebPageProxy.cpp
  • Tools/Scripts/webkitpy/port/mac.py

Test Files

  • LayoutTests/platform/mac-wk1/TestExpectations
  • LayoutTests/webarchive/loading/resources/quarantined_top.webarchive
  • LayoutTests/webarchive/loading/test-loading-archive-with-link-expected.txt
  • LayoutTests/webarchive/loading/test-loading-archive-with-link.html
CVE-2025-43240
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A download’s origin may be incorrectly associated

Researchers: Syarif Muhammad Sajjad

Attribute Value
CVE CVE-2025-43240
Bugzilla 293994
Component WebKit
Bug Class LogicError
Severity medium
Commit 0578185b8a7484c5…
Advisory Apple Advisory

Root Cause Analysis

A logic issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebKit/UIProcess/WebPageProxy.cpp

Test Files

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/Download.mm
CVE-2025-43265
Jul 30, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may disclose internal states of the app

Researchers: HexRabbit (@h3xr4bb1t) from DEVCORE Research Team

Attribute Value
CVE CVE-2025-43265
Bugzilla 294182
Component JSC
Bug Class OOB
Severity medium
Commit d96ab2fa64c62763…
Advisory Apple Advisory

Root Cause Analysis

An out-of-bounds read was addressed with improved input validation.

Files Changed

Source Files

  • Source/JavaScriptCore/yarr/YarrJIT.cpp
CVE-2025-24213
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A type confusion issue could lead to memory corruption

Researchers: Google V8 Security Team

Attribute Value
CVE CVE-2025-24213
Bugzilla 286694
Component WebCore
Bug Class TypeConfusion
Severity medium
Commit c1b04541303ec183…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed with improved handling of floats.

Files Changed

Source Files

  • Source/WTF/wtf/PlatformHave.h
  • Source/WebCore/Sources.txt
  • Source/WebCore/WebCore.xcodeproj/project.pbxproj
  • Source/WebCore/platform/audio/DenormalDisabler.cpp
  • Source/WebCore/platform/audio/DenormalDisabler.h

Test Files

  • LayoutTests/platform/ios/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworklet-denormals.https.window-expected.txt
  • LayoutTests/platform/mac/TestExpectations
  • LayoutTests/webaudio/audoworklet-denormal-float-values-expected.txt
  • LayoutTests/webaudio/audoworklet-denormal-float-values.html
CVE-2025-24223
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: rheza (@ginggilBesel), Edouard Bochin (@le_douds) and Tao Yan (@Ga1ois) of Palo Alto Networks

Attribute Value
CVE CVE-2025-24223
Bugzilla 287577
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Fix not public. The WebKit fix for this bug is embargoed or not yet disclosed. The bug ID is confirmed from the Apple advisory, but no public commit references it.

CVE-2025-31204
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Nan Wang(@eternalsakura13)

Attribute Value
CVE CVE-2025-31204
Bugzilla 291506
Component JSC
Bug Class LogicError
Severity medium
Commit 265dbd5abf60768a…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/wasm/WasmBBQJIT64.cpp

Test Files

  • JSTests/wasm/stress/array-get-large-i64-index.js
CVE-2025-31205
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may exfiltrate data cross-origin

Researchers: Ivan Fratric of Google Project Zero

Attribute Value
CVE CVE-2025-31205
Bugzilla 290992
Component WebCore
Bug Class CrossOrigin
Severity medium
Commit 647e80ac22b36756…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/css/CSSImportRule.cpp
  • Source/WebCore/css/CSSStyleSheet.cpp
  • Source/WebCore/css/CSSStyleSheet.h
  • Source/WebCore/dom/ProcessingInstruction.cpp
  • Source/WebCore/html/HTMLLinkElement.cpp

Test Files

  • LayoutTests/http/tests/security/access-cssstylesheet-after-removing-from-document-expected.txt
  • LayoutTests/http/tests/security/access-cssstylesheet-after-removing-from-document.html
  • LayoutTests/http/tests/security/access-imported-cssstylesheet-after-removing-from-document-expected.txt
  • LayoutTests/http/tests/security/access-imported-cssstylesheet-after-removing-from-document.html
  • LayoutTests/http/tests/security/cannot-read-cssrules-redirect-expected.txt
  • LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-request-css-cross-origin.https-expected.txt
CVE-2025-31206
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Yuhao Hu, Yan Kang, Chenggang Wu, Xiaojie Wei

Attribute Value
CVE CVE-2025-31206
Bugzilla 290834
Component JSC
Bug Class TypeConfusion
Severity medium
Commit 2a545562709ac7a6…
Advisory Apple Advisory

Root Cause Analysis

A type confusion issue was addressed with improved state handling.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

Test Files

  • JSTests/stress/dfg-get-global-object-should-use-object-edge.js
CVE-2025-31215
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Jiming Wang and Jikai Ren

Attribute Value
CVE CVE-2025-31215
Bugzilla 288814
Component JSC
Bug Class LogicError
Severity medium
Commit ac09d743b1828ad9…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp

Test Files

  • JSTests/stress/dfg-ai-should-reduce-new-array-with-spread-structures.js
CVE-2025-31217
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Ignacio Sanmillan (@ulexec)

Attribute Value
CVE CVE-2025-31217
Bugzilla 289677
Component WebKit
Bug Class LogicError
Severity medium
Commit 2f1c7a102f89c395…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved input validation.

Files Changed

Source Files

  • Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/TextureMtl.mm

Test Files

  • Source/ThirdParty/ANGLE/src/tests/gl_tests/MipmapTest.cpp
CVE-2025-31223
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Andreas Jaegersberger & Ro Achterberg of Nosebeard Labs

Attribute Value
CVE CVE-2025-31223
Bugzilla 289387
Component JSC
Bug Class LogicError
Severity medium
Commit 92e69a181eb39835…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

Files Changed

Source Files

  • Source/JavaScriptCore/runtime/JSONObject.cpp

Test Files

  • JSTests/stress/fast-stringifier-check-string-length.js
CVE-2025-31238
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: wac working with Trend Micro Zero Day Initiative

Attribute Value
CVE CVE-2025-31238
Bugzilla 289653
Component WebCore
Bug Class LogicError
Severity medium
Commit a23df0dfbec0c9df…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/page/scrolling/mac/ScrollerMac.h
  • Source/WebCore/page/scrolling/mac/ScrollerMac.mm

Test Files

  • LayoutTests/fast/scrolling/mac/scrollbars/scrollbar-crash-expected.txt
  • LayoutTests/fast/scrolling/mac/scrollbars/scrollbar-crash.html
CVE-2025-31257
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Juergen Schmied of Lynck GmbH

Attribute Value
CVE CVE-2025-31257
Bugzilla 290985
Component WebCore
Bug Class LogicError
Severity medium
Commit ddbf9329b2ca0320…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/history/BackForwardCache.cpp
  • Source/WebCore/page/LocalFrameView.cpp
CVE-2025-31266
May 12, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A website may be able to spoof the domain name in the title of a pop-up window

Researchers: @RenwaX23

Attribute Value
CVE CVE-2025-31266
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A spoofing issue was addressed with improved truncation when displaying the fully qualified domain name

CVE-2025-24180
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may be able to claim WebAuthn credentials from another website that shares a registrable suffix

Researchers: Martin Kreichgauer of Google Chrome

Attribute Value
CVE CVE-2025-24180
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved input validation.

CVE-2025-24192
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a website may leak sensitive data

Researchers: Vsevolod Kokorin (Slonser) of Solidlab

Attribute Value
CVE CVE-2025-24192
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A script imports issue was addressed with improved isolation.

CVE-2025-24208
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Loading a malicious iframe may lead to a cross-site scripting attack

Researchers: Muhammad Zaid Ghifari (Mr.ZheeV) and Kalimantan Utara

Attribute Value
CVE CVE-2025-24208
Bugzilla 286381
Component WebKit
Bug Class LogicError
Severity medium
Commit 609e8c7a932f28b7…
Advisory Apple Advisory

Root Cause Analysis

A permissions issue was addressed with additional restrictions.

Files Changed

Source Files

  • Source/WebKit/UIProcess/WebPageProxy.cpp
  • Source/WebKit/UIProcess/WebPageProxy.h

Test Files

  • Tools/TestWebKitAPI/Tests/WebKitCocoa/OpenAndCloseWindow.mm
CVE-2025-24209
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Francisco Alonso (@revskills), and an anonymous researcher

Attribute Value
CVE CVE-2025-24209
Bugzilla 286462
Component WebCore
Bug Class IntegerOverflow
Severity medium
Commit 575e5800d5bb2215…
Advisory Apple Advisory

Root Cause Analysis

A buffer overflow issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/css/parser/CSSParserFastPaths.cpp

Test Files

  • LayoutTests/fast/css/transform-translate-parsing-crash-expected.txt
  • LayoutTests/fast/css/transform-translate-parsing-crash.html
CVE-2025-24216
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Paul Bakker of ParagonERP

Attribute Value
CVE CVE-2025-24216
Bugzilla 284055
Component WebCore
Bug Class LogicError
Severity medium
Commit b879a659b19009b9…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/css/CSSSelector.h
  • Source/WebCore/css/CSSStyleSheet.cpp
  • Source/WebCore/css/SelectorChecker.cpp
  • Source/WebCore/css/StyleSheetContents.h
  • Source/WebCore/style/RuleSetBuilder.cpp
  • Source/WebCore/style/RuleSetBuilder.h

Test Files

  • LayoutTests/fast/selectors/has-nesting-crash-expected.txt
  • LayoutTests/fast/selectors/has-nesting-crash.html
CVE-2025-24264
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Gary Kwong, and an anonymous researcher

Attribute Value
CVE CVE-2025-24264
Bugzilla 285892
Component WebKit
Bug Class LogicError
Severity medium
Commit 71951f425f93be30…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

CVE-2025-30425
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may be able to track users in Safari private browsing mode

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2025-30425
Bugzilla 286580
Component WebCore
Bug Class LogicError
Severity medium
Commit df02f84bef7163f3…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.cpp
  • Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h

Test Files

  • LayoutTests/http/tests/media/clearkey/clear-key-session-id-expected.txt
  • LayoutTests/http/tests/media/clearkey/clear-key-session-id.html
CVE-2025-30427
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: rheza (@ginggilBesel)

Attribute Value
CVE CVE-2025-30427
Bugzilla 285643
Component JSC
Bug Class UAF
Severity medium
Commit d7bd7d8f7cdf153d…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/JavaScriptCore/bytecode/Repatch.cpp

Test Files

  • JSTests/stress/static-private-fields-dont-need-property-conditions.js
CVE-2025-30466
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A website may be able to bypass Same Origin Policy

Researchers: Jaydev Ahire, @RenwaX23

Attribute Value
CVE CVE-2025-30466
Bugzilla None
Component WebKit
Bug Class CrossOrigin
Severity high
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

CVE-2025-30467
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a malicious website may lead to address bar spoofing

Researchers: @RenwaX23

Attribute Value
CVE CVE-2025-30467
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2025-31192
Mar 31, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A website may be able to access sensor information without user consent

Researchers: Jaydev Ahire

Attribute Value
CVE CVE-2025-31192
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2025-24201
Mar 11, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Maliciously crafted web content may be able to break out of Web Content sandbox. This is a supplementary fix for an attack that was blocked in iOS 17.2. (Apple is aware of a report that this issue may have been exploited in an extremely sophisticated attack against specific targeted individuals on versions of iOS before iOS 17.2.)

Researchers: Apple

Attribute Value
CVE CVE-2025-24201
Bugzilla 285858
Component WebKit
Bug Class OOB
Severity medium
Commit 7d784721e440d049…
Advisory Apple Advisory

Root Cause Analysis

An out-of-bounds write issue was addressed with improved checks to prevent unauthorized actions.

CVE-2025-24113
Jan 27, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a malicious website may lead to user interface spoofing

Researchers: @RenwaX23

Attribute Value
CVE CVE-2025-24113
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved UI.

CVE-2025-24128
Jan 27, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a malicious website may lead to address bar spoofing

Researchers: @RenwaX23

Attribute Value
CVE CVE-2025-24128
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed by adding additional logic.

CVE-2025-24143
Jan 27, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A maliciously crafted webpage may be able to fingerprint the user

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2025-24143
Bugzilla 283117
Component WebKit
Bug Class LogicError
Severity medium
Commit 5867423d3c559666…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved access restrictions to the file system.

CVE-2025-24150
Jan 27, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Copying a URL from Web Inspector may lead to command injection

Researchers: Johan Carlsson (joaxcar)

Attribute Value
CVE CVE-2025-24150
Bugzilla 283718
Component WebKit
Bug Class LogicError
Severity medium
Commit fed47c6e0559b588…
Advisory Apple Advisory

Root Cause Analysis

A privacy issue was addressed with improved handling of files.

CVE-2025-24158
Jan 27, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing web content may lead to a denial-of-service

Researchers: Q1IQ (@q1iqF) of NUS CuriOSity and P1umer (@p1umer) of Imperial Global Singapore

Attribute Value
CVE CVE-2025-24158
Bugzilla 283889
Component WebKit
Bug Class LogicError
Severity medium
Commit bfe3f27cc9be546f…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

CVE-2025-24162
Jan 27, 2025

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: linjy of HKUS3Lab and chluo of WHUSecLab

Attribute Value
CVE CVE-2025-24162
Bugzilla 284159
Component WebKit
Bug Class LogicError
Severity medium
Commit c7d10c6fc5fa4308…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

CVE-2025-24169
Jan 27, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious app may be able to bypass browser extension authentication

Researchers: Josh Parnham (@joshparnham)

Attribute Value
CVE CVE-2025-24169
Bugzilla None
Component WebKit
Bug Class LogicError
Severity high
Advisory Apple Advisory

Root Cause Analysis

A logging issue was addressed with improved data redaction.

CVE-2025-24189
Jan 27, 2025

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2025-24189
Bugzilla 284332
Component WebKit
Bug Class LogicError
Severity medium
Commit 9cee5daeabd138d0…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2024-44246
Dec 11, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: On a device with Private Relay enabled, adding a website to the Safari Reading List may reveal the originating IP address to the website

Researchers: Jacob Braun

Attribute Value
CVE CVE-2024-44246
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved routing of Safari-originated requests.

CVE-2024-54479
Dec 11, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Seunghyun Lee

Attribute Value
CVE CVE-2024-54479
Bugzilla 278497
Component WebKit
Bug Class LogicError
Severity medium
Commit 60532cbe64e57216…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2024-54502
Dec 11, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Brendon Tiszka of Google Project Zero

Attribute Value
CVE CVE-2024-54502
Bugzilla 281912
Component WebKit
Bug Class LogicError
Severity medium
Commit a5aab1fd879a56b6…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2024-54505
Dec 11, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Gary Kwong

Attribute Value
CVE CVE-2024-54505
Bugzilla 282661
Component JSC
Bug Class TypeConfusion
Severity medium
Commit 2d5e29d47324834c…
Advisory Apple Advisory

Root Cause Analysis

A type confusion issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/dfg/DFGBackwardsPropagationPhase.cpp

Test Files

  • JSTests/stress/string-add-conversion-unused.js
CVE-2024-54508
Dec 11, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Xiangwei Zhang of Tencent Security YUNDING LAB, linjy of HKUS3Lab and chluo of WHUSecLab, and an anonymous researcher

Attribute Value
CVE CVE-2024-54508
Bugzilla 282180
Component WebKit
Bug Class LogicError
Severity medium
Commit a786924faa7f8ca0…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

CVE-2024-54534
Dec 11, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Tashita Software Security

Attribute Value
CVE CVE-2024-54534
Bugzilla 277967
Component WebKit
Bug Class LogicError
Severity medium
Commit ccef7b85cc9b91a1…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

CVE-2024-54542
Dec 11, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Private Browsing tabs may be accessed without authentication

Researchers: Rei (@reizydev), Kenneth Chew

Attribute Value
CVE CVE-2024-54542
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

An authentication issue was addressed with improved state management.

CVE-2024-54543
Dec 11, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to memory corruption

Researchers: Lukas Bernhard, Gary Kwong, and an anonymous researcher

Attribute Value
CVE CVE-2024-54543
Bugzilla 282450
Component WebKit
Bug Class LogicError
Severity medium
Commit c4bc08c26ba9c8b7…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

CVE-2024-44308
Nov 19, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been actively exploited on Intel-based Mac systems.

Researchers: Clément Lecigne and Benoît Sevens of Google’s Threat Analysis Group

Attribute Value
CVE CVE-2024-44308
Bugzilla 283063
Component WebKit
Bug Class LogicError
Severity critical
Commit 82abacffb221fb67…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2024-44309
Nov 19, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to a cross site scripting attack. Apple is aware of a report that this issue may have been actively exploited on Intel-based Mac systems.

Researchers: Clément Lecigne and Benoît Sevens of Google’s Threat Analysis Group

Attribute Value
CVE CVE-2024-44309
Bugzilla 283095
Component WebKit
Bug Class LogicError
Severity medium
Commit 3845740eb3e24283…
Advisory Apple Advisory

Root Cause Analysis

A cookie management issue was addressed with improved state management.

CVE-2024-44212
Oct 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Cookies belonging to one origin may be sent to another origin

Researchers: Wojciech Regula of SecuRing (

Attribute Value
CVE CVE-2024-44212
Bugzilla 279226
Component WebKit
Bug Class LogicError
Severity medium
Commit 11494e6772915212…
Advisory Apple Advisory

Root Cause Analysis

A cookie management issue was addressed with improved state management.

CVE-2024-44229
Oct 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Private browsing may leak some browsing history

Researchers: Lucas Di Tomase

Attribute Value
CVE CVE-2024-44229
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

An information leakage was addressed with additional validation.

CVE-2024-44244
Oct 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: an anonymous researcher, Q1IQ (@q1iqF) and P1umer (@p1umer)

Attribute Value
CVE CVE-2024-44244
Bugzilla 279780
Component WebKit
Bug Class LogicError
Severity medium
Commit 33330e8a218db45a…
Advisory Apple Advisory

Root Cause Analysis

A memory corruption issue was addressed with improved input validation.

CVE-2024-44259
Oct 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: An attacker may be able to misuse a trust relationship to download malicious content

Researchers: Narendra Bhati, Manager of Cyber Security at Suma Soft Pvt. Ltd, Pune (India)

Attribute Value
CVE CVE-2024-44259
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

CVE-2024-44296
Oct 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may prevent Content Security Policy from being enforced

Researchers: Narendra Bhati, Manager of Cyber Security at Suma Soft Pvt. Ltd, Pune (India)

Attribute Value
CVE CVE-2024-44296
Bugzilla 278765
Component WebKit
Bug Class LogicError
Severity medium
Commit a946a67312c65fb9…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2024-40857
Sep 16, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to universal cross site scripting

Researchers: Ron Masas

Attribute Value
CVE CVE-2024-40857
Bugzilla 268724
Component WebKit
Bug Class LogicError
Severity medium
Commit a350c1e9191addf5…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

CVE-2024-40866
Sep 16, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a malicious website may lead to address bar spoofing

Researchers: Hafiizh and YoKo Kho (@yokoacc) of HakTrak

Attribute Value
CVE CVE-2024-40866
Bugzilla 279451
Component WebKit
Bug Class LogicError
Severity medium
Commit 07e51b93d7e7d766…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved UI.

CVE-2024-44155
Sep 16, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Maliciously crafted web content may violate iframe sandboxing policy

Researchers: Narendra Bhati, Manager of Cyber Security at Suma Soft Pvt. Ltd, Pune (India)

Attribute Value
CVE CVE-2024-44155
Bugzilla None
Component WebKit
Bug Class SandboxEscape
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A custom URL scheme handling issue was addressed with improved input validation.

CVE-2024-44187
Sep 16, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may exfiltrate data cross-origin

Researchers: Narendra Bhati, Manager of Cyber Security at Suma Soft Pvt. Ltd, Pune (India)

Attribute Value
CVE CVE-2024-44187
Bugzilla 279452
Component WebKit
Bug Class CrossOrigin
Severity medium
Commit 99ec4582f9e47c6c…
Advisory Apple Advisory

Root Cause Analysis

A cross-origin issue existed with “iframe” elements. This was addressed with improved tracking of security origins.

CVE-2024-44192
Sep 16, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Tashita Software Security

Attribute Value
CVE CVE-2024-44192
Bugzilla 268770
Component WebKit
Bug Class LogicError
Severity medium
Commit fe9dc550d9a039a1…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2024-44202
Sep 16, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Private Browsing tabs may be accessed without authentication

Researchers: Kenneth Chew

Attribute Value
CVE CVE-2024-44202
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

An authentication issue was addressed with improved state management.

CVE-2024-54467
Sep 16, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may exfiltrate data cross-origin

Researchers: Narendra Bhati, Manager of Cyber Security At Suma Soft Pvt. Ltd, Pune (India)

Attribute Value
CVE CVE-2024-54467
Bugzilla 287874
Component WebKit
Bug Class CrossOrigin
Severity medium
Commit 70ecdca2d1973537…
Advisory Apple Advisory

Root Cause Analysis

A cookie management issue was addressed with improved state management.

CVE-2024-40776
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Huang Xilin of Ant Group Light-Year Security Lab

Attribute Value
CVE CVE-2024-40776
Bugzilla 273176
Component WebKit
Bug Class UAF
Severity medium
Commit d86fef64a7c35672…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebGPU/WGSL/AST/ASTCallExpression.h
  • Source/WebGPU/WGSL/GlobalVariableRewriter.cpp

Patch Preview

diff --git a/Source/WebGPU/WGSL/AST/ASTCallExpression.h b/Source/WebGPU/WGSL/AST/ASTCallExpression.h
index 7abadd2d3217..0a85ce277959 100644
--- a/Source/WebGPU/WGSL/AST/ASTCallExpression.h
+++ b/Source/WebGPU/WGSL/AST/ASTCallExpression.h
@@ -28,6 +28,7 @@
 #include "ASTExpression.h"
 
 namespace WGSL {
+class RewriteGlobalVariables;
 class TypeChecker;
 
 namespace AST {
@@ -39,6 +40,7 @@ namespace AST {
 class CallExpression final : public Expression {
     WGSL_AST_BUILDER_NODE(CallExpression);
 
+    friend RewriteGlobalVariables;
     friend TypeChecker;
 
 public:
diff --git a/Source/WebGPU/WGSL/GlobalVariableRewriter.cpp b/Source/WebGPU/WGSL/GlobalVariableRewriter.cpp
index edf73a1f6ce9..4dd9180b9f04 100644
--- a/Source/WebGPU/WGSL/GlobalVariableRewriter.cpp
+++ b/Source/WebGPU/WGSL/GlobalVariableRewriter.cpp
@@ -114,13 +114,12 @@ class RewriteGlobalVariables : public AST::Visitor {
     AST::Expression& bufferLengthType();
     AST::Expression& bufferLengthReferenceType();
 
-    // atomics
-    void initializeAtomics(AST::Function&, const UsedPrivateGlobals&, size_t);
+    // zero initialization
+    void initializeVariables(AST::Function&, const UsedPrivateGlobals&, size_t);
     void insertWorkgroupBarrier(AST::Function&, size_t);
     AST::Identifier& findOrInsertLocalInvocationIndex(AST::Function&);
-    AST::Statement::List atomicStoreInitialValue(const UsedPrivateGlobals&);
-    void atomicStoreInitialValue(AST::Expression&, AST::Statement::List&, unsigned);
-    bool containsAtomic(const Type*);
+    AST::Statement::List storeInitialValue(const UsedPrivateGlobals&);
+    void storeInitialValue(AST::Expression&, AST::Statement::List&, unsigned, bool isNested);
 
     void packResource(AST::Variable&);
     void packArrayResource(AST::Variable&, const Types::Array*);
@@ -1415,12 +1414,12 @@ void RewriteGlobalVariables::insertLocalDefinitions(AST::Function& function, con
     }
 
     auto offset = function.body().statements().size() - initialBodySize;
-    initializeAtomics(function, usedPrivateGlobals, offset);
+    initializeVariables(function, usedPrivateGlobals, offset);
 }
 
-void RewriteGlobalVariables::initializeAtomics(AST::Function& function, const UsedPrivateGlobals& globals, size_t offset)
+void RewriteGlobalVariables::initializeVariables(AST::Function& function, const UsedPrivateGlobals& globals, size_t offset)
 {
-    auto initializations = atomicStoreInitialValue(globals);
+    auto initializations = storeInitialValue(globals);
     if (initializations.isEmpty())
         return;
 
@@ -1511,43 +1510,53 @@ AST::Identifier& RewriteGlobalVariables::findOrInsertLocalInvocationIndex(AST::F
     return parameter.name();
 }
 
-AST::Statement::List RewriteGlobalVariables::atomicStoreInitialValue(const UsedPrivateGlobals& globals)
+AST::Statement::List RewriteGlobalVariables::storeInitialValue(const UsedPrivateGlobals& globals)
 {
     AST::Statement::List statements;
     for (auto* global : globals) {
         auto& variable = *global->declaration;
-        auto* type = variable.storeType();
-        if (!containsAtomic(type))
+
+        if (auto addressSpace = variable.addressSpace(); !addressSpace.has_value() || *addressSpace != AddressSpace::Workgroup)
             continue;
 
+        auto* type = variable.storeType();
         auto& target = m_callGraph.ast().astBuilder().construct<AST::IdentifierExpression>(
             SourceSpan::empty(),
             AST::Identifier::make(variable.name().id())
         );
         target.m_inferredType = type;
-        atomicStoreInitialValue(target, statements, 0);
+        storeInitialValue(target, statements, 0, false);
     }
     return statements;
 }
 
-bool RewriteGlobalVariables::containsAtomic(const Type* type)
+void RewriteGlobalVariables::storeInitialValue(AST::Expression& target, AST::Statement::List& statements, unsigned arrayDepth, bool isNested)
 {
-    if (std::holds_alternative<Types::Atomic>(*type))
-        return true;
-    if (auto* arrayType = std::get_if<Types::Array>(type))
-        return containsAtomic(arrayType->element);
-    if (auto* structType = std::get_if<Types::Struct>(type)) {
-        for (const auto& [_, fieldType] : structType->fields) {
-            if (containsAtomic(fieldType))
-                return true;
-        }
-        return false;
-    }
CVE-2024-40779
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Huang Xilin of Ant Group Light-Year Security Lab

Attribute Value
CVE CVE-2024-40779
Bugzilla 275431
Component WebKit
Bug Class OOB
Severity medium
Commit ee1d490ee70c84af…
Advisory Apple Advisory

Root Cause Analysis

An out-of-bounds read was addressed with improved bounds checking.

CVE-2024-40780
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Huang Xilin of Ant Group Light-Year Security Lab

Attribute Value
CVE CVE-2024-40780
Bugzilla 275273
Component WebKit
Bug Class OOB
Severity medium
Commit a0edcb80c674edf6…
Advisory Apple Advisory

Root Cause Analysis

An out-of-bounds read was addressed with improved bounds checking.

CVE-2024-40782
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Maksymilian Motyl

Attribute Value
CVE CVE-2024-40782
Bugzilla 268770
Component WebKit
Bug Class UAF
Severity medium
Commit fe9dc550d9a039a1…
Advisory Apple Advisory

Root Cause Analysis

A use-after-free issue was addressed with improved memory management.

Files Changed

Source Files

  • Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
CVE-2024-40785
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to a cross site scripting attack

Researchers: Johan Carlsson (joaxcar)

Attribute Value
CVE CVE-2024-40785
Bugzilla 273805
Component WebKit
Bug Class LogicError
Severity medium
Commit 0a279cde8508141b…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed with improved checks.

CVE-2024-40789
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Seunghyun Lee (@0x10n) of KAIST Hacking Lab working with Trend Micro Zero Day Initiative

Attribute Value
CVE CVE-2024-40789
Bugzilla None
Component WebKit
Bug Class OOB
Severity medium
Advisory Apple Advisory

Root Cause Analysis

An out-of-bounds access issue was addressed with improved bounds checking.

CVE-2024-40794
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Private Browsing tabs may be accessed without authentication

Researchers: Matthew Butler

Attribute Value
CVE CVE-2024-40794
Bugzilla 275272
Component WebKit
Bug Class LogicError
Severity medium
Commit 46d879894a746bad…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

CVE-2024-40817
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Visiting a website that frames malicious content may lead to UI spoofing

Researchers: Yadhu Krishna M and Narendra Bhati, Manager of Cyber Security At Suma Soft Pvt. Ltd, Pune (India)

Attribute Value
CVE CVE-2024-40817
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved UI handling.

CVE-2024-44185
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Researchers: Gary Kwong

Attribute Value
CVE CVE-2024-44185
Bugzilla 276097
Component WebKit
Bug Class LogicError
Severity medium
Commit bd43e510a6385840…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2024-44206
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A user may be able to bypass some web content restrictions

Researchers: Andreas Jaegersberger and Ro Achterberg

Attribute Value
CVE CVE-2024-44206
Bugzilla 280765
Component WebKit
Bug Class LogicError
Severity high
Commit 4a6ee0b6b1b9292b…
Advisory Apple Advisory

Root Cause Analysis

An issue in the handling of URL protocols was addressed with improved logic.

CVE-2024-4558
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

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

Attribute Value
CVE CVE-2024-4558
Bugzilla 274165
Component WebKit
Bug Class LogicError
Severity medium
Commit 80221c156248f327…
Advisory Apple Advisory

Root Cause Analysis

This is a vulnerability in open source code and Apple Software is among the affected projects. The CVE-ID was assigned by a third party. Learn more about the issue and CVE-ID at cve.org.

CVE-2024-54551
Jul 29, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing web content may lead to a denial-of-service

Researchers: ajajfxhj

Attribute Value
CVE CVE-2024-54551
Bugzilla 275117
Component WebCore
Bug Class LogicError
Severity medium
Commit e73dfba967ee3b8d…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
  • Source/WebCore/platform/audio/PlatformMediaSessionManager.h
  • Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm

Patch Preview

diff --git a/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp b/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
index 81dc8e026141..999b08a1e845 100644
--- a/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
+++ b/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
@@ -117,6 +117,11 @@ PlatformMediaSessionManager::PlatformMediaSessionManager()
 {
 }
 
+PlatformMediaSessionManager::~PlatformMediaSessionManager()
+{
+    m_taskGroup.cancel();
+}
+
 static inline unsigned indexFromMediaType(PlatformMediaSession::MediaType type)
 {
     return static_cast<unsigned>(type);
@@ -492,7 +497,7 @@ void PlatformMediaSessionManager::sessionCanProduceAudioChanged()
         return;
 
     m_alreadyScheduledSessionStatedUpdate = true;
-    callOnMainThread([this] {
+    enqueueTaskOnMainThread([this] {
         m_alreadyScheduledSessionStatedUpdate = false;
         maybeActivateAudioSession();
         updateSessionState();
@@ -656,7 +661,7 @@ void PlatformMediaSessionManager::scheduleUpdateSessionState()
         return;
 
     m_hasScheduledSessionStateUpdate = true;
-    callOnMainThread([this] {
+    enqueueTaskOnMainThread([this] {
         updateSessionState();
         m_hasScheduledSessionStateUpdate = false;
     });
@@ -903,6 +908,13 @@ bool PlatformMediaSessionManager::hasActiveNowPlayingSessionInGroup(MediaSession
     return hasActiveNowPlayingSession;
 }
 
+void PlatformMediaSessionManager::enqueueTaskOnMainThread(Function<void()>&& task)
+{
+    callOnMainThread(CancellableTask(m_taskGroup, [task = WTFMove(task)] () mutable {
+        task();
+    }));
+}
+
 #if !RELEASE_LOG_DISABLED
 WTFLogChannel& PlatformMediaSessionManager::logChannel() const
 {
diff --git a/Source/WebCore/platform/audio/PlatformMediaSessionManager.h b/Source/WebCore/platform/audio/PlatformMediaSessionManager.h
index 527d12fff117..e5dd5c0f9503 100644
--- a/Source/WebCore/platform/audio/PlatformMediaSessionManager.h
+++ b/Source/WebCore/platform/audio/PlatformMediaSessionManager.h
@@ -31,6 +31,7 @@
 #include "RemoteCommandListener.h"
 #include "Timer.h"
 #include <wtf/AggregateLogger.h>
+#include <wtf/CancellableTask.h>
 #include <wtf/Vector.h>
 #include <wtf/WeakHashSet.h>
 #include <wtf/WeakPtr.h>
@@ -83,7 +84,7 @@ class PlatformMediaSessionManager
     WEBCORE_EXPORT static void setMediaCapabilityGrantsEnabled(bool);
 #endif
 
-    virtual ~PlatformMediaSessionManager() = default;
+    virtual ~PlatformMediaSessionManager();
 
     virtual void scheduleSessionStatusUpdate() { }
 
@@ -227,6 +228,7 @@ class PlatformMediaSessionManager
     std::optional<bool> supportsSpatialAudioPlayback() { return m_supportsSpatialAudioPlayback; }
 
     void nowPlayingMetadataChanged(const NowPlayingMetadata&);
+    void enqueueTaskOnMainThread(Function<void()>&&);
 
 private:
     friend class Internals;
@@ -260,6 +262,7 @@ class PlatformMediaSessionManager
     bool m_hasScheduledSessionStateUpdate { false };
 
     WeakHashSet<NowPlayingMetadataObserver> m_nowPlayingMetadataObservers;
+    TaskCancellationGroup m_taskGroup;
 
 #if ENABLE(WEBM_FORMAT_READER)
     static bool m_webMFormatReaderEnabled;
diff --git a/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm b/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
index 3c4000a571a1..d50c37334a7e 100644
--- a/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
+++ b/Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
@@ -270,7 +270,7 @@
 
 void MediaSessionManagerCocoa::scheduleSessionStatusUpdate()
 {
-    callOnMainThread([this] () mutable {
+    enqueueTaskOnMainThread([this] () mutable {
         m_nowPlayingManager->setSupportsSeeking(computeSupportsSeeking());
         updateNowPlayingInfo();
 
@@ -329,7 +329,7 @@
 {
CVE-2024-27808
May 13, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing web content may lead to arbitrary code execution

Researchers: Lukas Bernhard of CISPA Helmholtz Center for Information Security

Attribute Value
CVE CVE-2024-27808
Bugzilla 268221
Component JSC
Bug Class LogicError
Severity critical
Commit b25150796310098d…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/bytecode/AccessCase.cpp
  • Source/JavaScriptCore/bytecode/AccessCase.h
  • Source/JavaScriptCore/bytecode/GetByStatus.cpp
  • Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp
  • Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h
  • Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp
  • Source/JavaScriptCore/bytecode/InlineCacheCompiler.h
  • Source/JavaScriptCore/bytecode/ProxyObjectAccessCase.cpp
  • Source/JavaScriptCore/bytecode/ProxyObjectAccessCase.h
  • Source/JavaScriptCore/bytecode/PutByStatus.cpp
  • Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
  • Source/JavaScriptCore/bytecode/StructureStubInfo.h
  • Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp
  • Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h
  • Source/JavaScriptCore/jit/JITStubRoutine.cpp
  • Source/JavaScriptCore/jit/JITStubRoutine.h

Test Files

  • JSTests/stress/decouple-calllinkinfo-from-access-case.js

Patch Preview

diff --git a/JSTests/stress/decouple-calllinkinfo-from-access-case.js b/JSTests/stress/decouple-calllinkinfo-from-access-case.js
new file mode 100644
index 000000000000..a7fd1f75b1ab
--- /dev/null
+++ b/JSTests/stress/decouple-calllinkinfo-from-access-case.js
@@ -0,0 +1,96 @@
+// runDefault("--validateOptions=true", "--thresholdForJITSoon=10", "--thresholdForJITAfterWarmUp=10", "--thresholdForOptimizeAfterWarmUp=100", "--thresholdForOptimizeAfterLongWarmUp=100", "--thresholdForOptimizeSoon=100", "--thresholdForFTLOptimizeAfterWarmUp=1000", "--thresholdForFTLOptimizeSoon=1000", "--validateBCE=true")
+
+const ProxyConstructor = Proxy;
+const getPrototypeOf = Object.getPrototypeOf;
+const ReflectGet = Reflect.get;
+const ReflectSet = Reflect.set;
+const ReflectHas = Reflect.has;
+const setPrototypeOf = Object.setPrototypeOf;
+
+function probe(id, value) {
+    let originalPrototype, newPrototype;
+    let handler = {
+        get(target, key, receiver) {
+            if (key === '__proto__' && receiver === value) return originalPrototype;
+            if (receiver === newPrototype) return ReflectGet(target, key);
+            return ReflectGet(target, key, receiver);
+        },
+        set(target, key, value, receiver) {
+            if (receiver === newPrototype) return ReflectSet(target, key, value);
+            return ReflectSet(target, key, value, receiver);
+        },
+        has(target, key) {
+            return ReflectHas(target, key);
+        },
+    };
+
+    try {
+        originalPrototype = getPrototypeOf(value);
+        newPrototype = new ProxyConstructor(originalPrototype, handler);
+        setPrototypeOf(value, newPrototype);
+    } catch (e) {}
+}
+
+probe("v1", "2003629588");
+let v4 = 9150;
+v4--;
+probe("v6", 51828);
+function F7(a9, a10, a11) {
+    if (!new.target) { throw 'must be called with new'; }
+    const v12 = this?.constructor;
+    try { new v12(this, "object", 447824390); } catch (e) {}
+    a11 % a11;
+    this.b = a9;
+    this.g = a10;
+}
+const v15 = new F7("2003629588", "object", 447824390);
+const v16 = new F7(v15, v4, v4);
+const v17 = new F7("2003629588", 51828, 51828);
+probe("v17", v17);
+const v18 = v17?.constructor;
+probe("v18", v18);
+let v19;
+try { v19 = new v18("r", v17, "r"); } catch (e) {}
+probe("v19", v19);
+const v20 = [v17,v17];
+probe("v20", v20);
+const v21 = [F7,v15,v20,v15,v4];
+const v22 = [v4,"object",51828];
+probe("v22", v22);
+let v23;
+try { v23 = v22.reduce(v15); } catch (e) {}
+const v24 = [2,-354747782,-16,10251,-1485280459,5,6,536870888,-47153,-193790246];
+probe("v24", v24);
+function f25(a26, a27) {
+    const o28 = {
+        [a27]: a26,
+        "d": v21,
+    };
+    return o28;
+}
+f25(v16, v22);
+f25(v23, v16);
+f25(v15, v22);
+v24[4];
+function f33(a34, a35, a36, a37) {
+    probe("v36", a36);
+    ~a35;
+    v22.length = 1;
+    a36?.[v21];
+}
+v24.flatMap(f33);
+gc();
+class C20 {
+    valueOf(a22, a23) {
+        return ("n")[1204] - this;
+    }
+}
+const v26 = new C20();
+function f27(a28, a29) {
+    new BigInt64Array(3603);
+    return v26 * v26;
+}
+try {
+v26[Symbol.toPrimitive] = f27;
CVE-2024-27820
May 13, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing web content may lead to arbitrary code execution

Researchers: Jeff Johnson of underpassapp.com

Attribute Value
CVE CVE-2024-27820
Bugzilla 270139
Component JSC
Bug Class LogicError
Severity critical
Commit 6a341af34a111bdf…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp

Patch Preview

diff --git a/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp b/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
index 24352a97dc76..e46f788274a8 100644
--- a/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
+++ b/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
@@ -444,7 +444,8 @@ void InspectorDebuggerAgent::didScheduleAsyncCall(JSC::JSGlobalObject* globalObj
     if (!m_currentAsyncCallIdentifierStack.isEmpty()) {
         auto it = m_pendingAsyncCalls.find(m_currentAsyncCallIdentifierStack.last());
         ASSERT(it != m_pendingAsyncCalls.end());
-        parentStackTrace = it->value;
+        if (LIKELY(it != m_pendingAsyncCalls.end()))
+            parentStackTrace = it->value;
     }
 
     auto identifier = asyncCallIdentifier(asyncCallType, callbackId);
CVE-2024-27830
May 13, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A maliciously crafted webpage may be able to fingerprint the user

Researchers: Joe Rutkowski (@Joe12387) of Crawless and @abrahamjuliot

Attribute Value
CVE CVE-2024-27830
Bugzilla 271159
Component WTF
Bug Class LogicError
Severity medium
Commit 89ae804c9d89d646…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

Files Changed

Source Files

  • Source/WTF/wtf/PlatformEnable.h

Patch Preview

diff --git a/Source/WTF/wtf/PlatformEnable.h b/Source/WTF/wtf/PlatformEnable.h
index 38d367cb578c..eef9de469a96 100644
--- a/Source/WTF/wtf/PlatformEnable.h
+++ b/Source/WTF/wtf/PlatformEnable.h
@@ -421,10 +421,6 @@
 #define ENABLE_MOUSE_FORCE_EVENTS 1
 #endif
 
-#if !defined(ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE)
-#define ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE 0
-#endif
-
 #if !defined(ENABLE_NOTIFICATION_EVENT)
 #define ENABLE_NOTIFICATION_EVENT 0
 #endif
CVE-2024-27833
May 13, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to arbitrary code execution

Researchers: Manfred Paul (@_manfp) working with Trend Micro Zero Day Initiative

Attribute Value
CVE CVE-2024-27833
Bugzilla 271491
Component JSC
Bug Class IntegerOverflow
Severity critical
Commit 1ea4ef8127276fd0…
Advisory Apple Advisory

Root Cause Analysis

An integer overflow was addressed with improved input validation.

Files Changed

Source Files

  • Source/JavaScriptCore/b3/B3LowerToAir.cpp

Test Files

  • JSTests/stress/sbfx-offset-overflow.js

Patch Preview

diff --git a/JSTests/stress/sbfx-offset-overflow.js b/JSTests/stress/sbfx-offset-overflow.js
new file mode 100644
index 000000000000..9d7f7cd7790a
--- /dev/null
+++ b/JSTests/stress/sbfx-offset-overflow.js
@@ -0,0 +1,16 @@
+function foo(a,b,c) { let x = a | 0; let y = b | 0; let z = c &15;
+z = (x<<y)^(x<<(y&0x10ff)); let r = z^0xf01;
+let s = z^0xf1f;
+return (((a>>>r)<<s)>>s);
+}
+let LEN = 100000000-1;
+let res = 0;
+res = foo((LEN&127),456,789);
+
+if (res != -1)
+    throw "Wrong result: " + res
+
+for (let i = 0; i <= LEN; i++) res = foo((i&127),456,789);
+
+if (res != -1)
+    throw "Wrong result: " + res
\ No newline at end of file
diff --git a/Source/JavaScriptCore/b3/B3LowerToAir.cpp b/Source/JavaScriptCore/b3/B3LowerToAir.cpp
index 33adcbd1c25a..e8ff89dc84c7 100644
--- a/Source/JavaScriptCore/b3/B3LowerToAir.cpp
+++ b/Source/JavaScriptCore/b3/B3LowerToAir.cpp
@@ -3301,7 +3301,8 @@ class LowerToAir {
                     return false;
                 uint64_t width = WTF::bitCount(mask);
                 uint64_t datasize = opcode == ExtractUnsignedBitfield32 ? 32 : 64;
-                if (lsb + width > datasize)
+                uint64_t resultDataSize = 0;
+                if (!WTF::safeAdd(lsb, width, resultDataSize) || resultDataSize > datasize)
                     return false;
 
                 append(opcode, tmp(srcValue), imm(lsbValue), imm(width), tmp(m_value));
@@ -3390,9 +3391,8 @@ class LowerToAir {
                 uint64_t highWidth = highWidthValue->asInt();
                 uint64_t lowWidth = lowWidthValue->asInt();
                 uint64_t datasize = opcode == ExtractRegister32 ? 32 : 64;
-                // Note that when `lowWidth == datasize` we cannot turn it to `MOV Rd Rn` since
-                // `m >>> lowWidth` means `m >>> (lowWidth % datasize)` in JavaScript.
-                if (lowWidth + highWidth != datasize || maskBitCount != lowWidth || lowWidth == datasize)
+                uint64_t resultWidth = 0;
+                if (!WTF::safeAdd(lowWidth, highWidth, resultWidth) || resultWidth != datasize || maskBitCount != lowWidth || lowWidth == datasize)
                     return false;
 
                 ASSERT(lowWidth < datasize);
@@ -3429,7 +3429,8 @@ class LowerToAir {
                     return false;
                 uint64_t datasize = opcode == InsertBitField32 ? 32 : 64;
                 uint64_t width = WTF::bitCount(mask1);
-                if (lsb + width > datasize)
+                uint64_t resultDataSize = 0;
+                if (!WTF::safeAdd(lsb, width, resultDataSize) || resultDataSize > datasize)
                     return false;
 
                 uint64_t mask2 = maskValue2->asInt();
@@ -3479,7 +3480,8 @@ class LowerToAir {
                     return false;
                 uint64_t width = WTF::bitCount(mask1);
                 uint64_t datasize = opcode == ExtractInsertBitfieldAtLowEnd32 ? 32 : 64;
-                if (lsb + width > datasize)
+                uint64_t resultDataSize = 0;
+                if (!WTF::safeAdd(lsb, width, resultDataSize) || resultDataSize > datasize)
                     return false;
                 uint64_t mask2 = maskValue2->asInt();
 
@@ -3653,7 +3655,8 @@ class LowerToAir {
 
                     uint64_t width = WTF::bitCount(mask);
                     uint64_t datasize = opcode == InsertUnsignedBitfieldInZero32 ? 32 : 64;
-                    if (lsb + width > datasize)
+                    uint64_t resultDataSize = 0;
+                    if (!WTF::safeAdd(lsb, width, resultDataSize) || resultDataSize > datasize)
                         return false;
 
                     append(opcode, tmp(nValue), imm(right), imm(width), tmp(m_value));
@@ -3715,8 +3718,13 @@ class LowerToAir {
                 uint64_t amount2 = amount2Value->asInt();
                 uint64_t lsb = lsbValue->asInt();
                 uint64_t datasize = opcode == InsertSignedBitfieldInZero32 ? 32 : 64;
+
+                if (amount1 >= datasize)
+                    return false;
+
                 uint64_t width = datasize - amount1;
-                if (amount1 != amount2 || !width || lsb + width > datasize)
+                uint64_t resultDataSize = 0;
+                if (!WTF::safeAdd(lsb, width, resultDataSize) || amount1 != amount2 || !width || resultDataSize > datasize)
                     return false;
 
                 append(opcode, tmp(srcValue), imm(lsbValue), imm(width), tmp(m_value));
@@ -3763,8 +3771,13 @@ class LowerToAir {
                 uint64_t amount2 = amount2Value->asInt();
                 uint64_t lsb = lsbValue->asInt();
                 uint64_t datasize = opcode == ExtractSignedBitfield32 ? 32 : 64;
+
+                if (amount1 >= datasize)
CVE-2024-27834
May 13, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: An attacker with arbitrary read and write capability may be able to bypass Pointer Authentication

Researchers: Manfred Paul (@_manfp) working with Trend Micro’s Zero Day Initiative

Attribute Value
CVE CVE-2024-27834
Bugzilla 272750
Component JSC
Bug Class LogicError
Severity high
Commit 3e3d0883c8495547…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

Files Changed

Source Files

  • Source/JavaScriptCore/assembler/MacroAssemblerARM64E.h
  • Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp
  • Source/JavaScriptCore/jit/ThunkGenerators.cpp
  • Source/JavaScriptCore/llint/LLIntThunks.cpp
  • Source/JavaScriptCore/runtime/Options.cpp
  • Source/JavaScriptCore/runtime/OptionsList.h
  • Source/WTF/wtf/PtrTag.h
  • Source/WebKit/WebProcess/WebProcess.cpp
  • Tools/Scripts/run-jsc-stress-tests

Patch Preview

diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARM64E.h b/Source/JavaScriptCore/assembler/MacroAssemblerARM64E.h
index 6925f04bc3d6..3f9233b2de58 100644
--- a/Source/JavaScriptCore/assembler/MacroAssemblerARM64E.h
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerARM64E.h
@@ -65,6 +65,12 @@ class MacroAssemblerARM64E : public MacroAssemblerARM64 {
 
     ALWAYS_INLINE void tagPtr(PtrTag tag, RegisterID target)
     {
+        if (!tag) {
+            m_assembler.pacizb(target);
+            return;
+        }
+
+        RELEASE_ASSERT(Options::allowNonSPTagging());
         auto tagGPR = getCachedDataTempRegisterIDAndInvalidate();
         move(TrustedImm64(tag), tagGPR);
         m_assembler.pacib(target, tagGPR);
@@ -76,11 +82,17 @@ class MacroAssemblerARM64E : public MacroAssemblerARM64 {
             m_assembler.pacibsp();
             return;
         }
+        RELEASE_ASSERT(Options::allowNonSPTagging());
         m_assembler.pacib(target, tag);
     }
 
     ALWAYS_INLINE void untagPtr(PtrTag tag, RegisterID target)
     {
+        if (!tag) {
+            m_assembler.autizb(target);
+            return;
+        }
+
         auto tagGPR = getCachedDataTempRegisterIDAndInvalidate();
         move(TrustedImm64(tag), tagGPR);
         m_assembler.autib(target, tagGPR);
diff --git a/Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp b/Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp
index 4e0d005cc08a..a597735bfaf7 100644
--- a/Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp
+++ b/Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp
@@ -254,6 +254,16 @@ void reifyInlinedCallFrames(CCallHelpers& jit, const OSRExitBase& exit)
     ASSERT(JITCode::isBaselineCode(jit.baselineCodeBlock()->jitType()));
     jit.storePtr(AssemblyHelpers::TrustedImmPtr(jit.baselineCodeBlock()), AssemblyHelpers::addressFor(CallFrameSlot::codeBlock));
 
+    GPRReg returnPCReg = GPRInfo::regT5;
+#if CPU(ARM64E)
+    GPRReg signingTagReg = GPRInfo::regT2;
+    if (!Options::allowNonSPTagging()) {
+        returnPCReg = ARM64Registers::lr;
+        signingTagReg = MacroAssembler::stackPointerRegister;
+        // We could save/restore lr here but we don't need to because the LLInt/Baseline will load it from the stack before returning anyway.
+    }
+#endif
+
     const CodeOrigin* codeOrigin;
     for (codeOrigin = &exit.m_codeOrigin; codeOrigin && codeOrigin->inlineCallFrame(); codeOrigin = codeOrigin->inlineCallFrame()->getCallerSkippingTailCalls()) {
         InlineCallFrame* inlineCallFrame = codeOrigin->inlineCallFrame();
@@ -266,15 +276,25 @@ void reifyInlinedCallFrames(CCallHelpers& jit, const OSRExitBase& exit)
 
         if (!trueCaller) {
             ASSERT(inlineCallFrame->isTail());
-            jit.loadPtr(AssemblyHelpers::Address(GPRInfo::callFrameRegister, CallFrame::returnPCOffset()), GPRInfo::regT3);
+            jit.loadPtr(AssemblyHelpers::Address(GPRInfo::callFrameRegister, CallFrame::returnPCOffset()), returnPCReg);
 #if CPU(ARM64E)
+            if (!Options::allowNonSPTagging()) {
+                JIT_COMMENT(jit, "lldb dynamic execution / posix signals could trash your stack"); // We don't have to worry about signals because they shouldn't fire in WebContent process in this window.
+                jit.move(MacroAssembler::stackPointerRegister, GPRInfo::regT4);
+            }
+
             jit.addPtr(AssemblyHelpers::TrustedImm32(sizeof(CallerFrameAndPC)), GPRInfo::callFrameRegister, GPRInfo::regT2);
-            jit.untagPtr(GPRInfo::regT2, GPRInfo::regT3);
-            jit.addPtr(AssemblyHelpers::TrustedImm32(inlineCallFrame->returnPCOffset() + sizeof(void*)), GPRInfo::callFrameRegister, GPRInfo::regT2);
-            jit.validateUntaggedPtr(GPRInfo::regT3, GPRInfo::regT4);
-            jit.tagPtr(GPRInfo::regT2, GPRInfo::regT3);
+            jit.untagPtr(GPRInfo::regT2, returnPCReg);
+            jit.validateUntaggedPtr(returnPCReg, GPRInfo::regT2);
+            jit.addPtr(AssemblyHelpers::TrustedImm32(inlineCallFrame->returnPCOffset() + sizeof(CPURegister)), GPRInfo::callFrameRegister, signingTagReg);
+            jit.tagPtr(signingTagReg, returnPCReg);
+
+            if (!Options::allowNonSPTagging()) {
+                JIT_COMMENT(jit, "lldb dynamic execution / posix signals are ok again");
+                jit.move(GPRInfo::regT4, MacroAssembler::stackPointerRegister);
+            }
 #endif
-            jit.storePtr(GPRInfo::regT3, AssemblyHelpers::addressForByteOffset(inlineCallFrame->returnPCOffset()));
+            jit.storePtr(returnPCReg, AssemblyHelpers::addressForByteOffset(inlineCallFrame->returnPCOffset()));
             jit.loadPtr(AssemblyHelpers::Address(GPRInfo::callFrameRegister, CallFrame::callerFrameOffset()), GPRInfo::regT3);
             callerFrameGPR = GPRInfo::regT3;
         } else {
@@ -291,10 +311,20 @@ void reifyInlinedCallFrames(CCallHelpers& jit, const OSRExitBase& exit)
             }
 
 #if CPU(ARM64E)
-            jit.addPtr(AssemblyHelpers::TrustedImm32(inlineCallFrame->returnPCOffset() + sizeof(void*)), GPRInfo::callFrameRegister, GPRInfo::regT2);
-            jit.move(AssemblyHelpers::TrustedImmPtr(jumpTarget.untaggedPtr()), GPRInfo::regT4);
-            jit.tagPtr(GPRInfo::regT2, GPRInfo::regT4);
-            jit.storePtr(GPRInfo::regT4, AssemblyHelpers::addressForByteOffset(inlineCallFrame->returnPCOffset()));
+            if (!Options::allowNonSPTagging()) {
+                JIT_COMMENT(jit, "lldb dynamic execution / posix signals could trash your stack"); // We don't have to worry about signals because they shouldn't fire in WebContent process in this window.
+                jit.move(MacroAssembler::stackPointerRegister, GPRInfo::regT4);
+            }
CVE-2024-27838
May 13, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A maliciously crafted webpage may be able to fingerprint the user

Researchers: Emilio Cobos of Mozilla

Attribute Value
CVE CVE-2024-27838
Bugzilla 262337
Component WebKit
Bug Class LogicError
Severity medium
Commit fe6383eb455a364c…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed by adding additional logic.

Files Changed

Test Files

  • LayoutTests/swipe/resources/swipe-test.js
  • LayoutTests/swipe/swipe-back-with-active-wheel-listener-expected.txt
  • LayoutTests/swipe/swipe-back-with-passive-wheel-listener-expected.txt
  • LayoutTests/swipe/wheel-prevent-default-prevents-swipe-back-expected.txt

Patch Preview

diff --git a/LayoutTests/swipe/resources/swipe-test.js b/LayoutTests/swipe/resources/swipe-test.js
index a32ba832493c..132f6c9c6c7f 100644
--- a/LayoutTests/swipe/resources/swipe-test.js
+++ b/LayoutTests/swipe/resources/swipe-test.js
@@ -46,6 +46,8 @@ async function startSlowSwipeGesture()
     if (!window.eventSender)
         return;
 
+    log("startSlowSwipeGesture");
+
     await UIHelper.ensurePresentationUpdate();
 
     // Similar to uiController.beginBackSwipe(), but with a gap between events to allow
diff --git a/LayoutTests/swipe/swipe-back-with-active-wheel-listener-expected.txt b/LayoutTests/swipe/swipe-back-with-active-wheel-listener-expected.txt
index 8215851db5ff..fd5b55d8f959 100644
--- a/LayoutTests/swipe/swipe-back-with-active-wheel-listener-expected.txt
+++ b/LayoutTests/swipe/swipe-back-with-active-wheel-listener-expected.txt
@@ -1,4 +1,5 @@
 Swipe target
+startSlowSwipeGesture
 didBeginSwipe
 completeSwipeGesture
 willEndSwipe
diff --git a/LayoutTests/swipe/swipe-back-with-passive-wheel-listener-expected.txt b/LayoutTests/swipe/swipe-back-with-passive-wheel-listener-expected.txt
index 6bd807db86af..fd5b55d8f959 100644
--- a/LayoutTests/swipe/swipe-back-with-passive-wheel-listener-expected.txt
+++ b/LayoutTests/swipe/swipe-back-with-passive-wheel-listener-expected.txt
@@ -1,5 +1,5 @@
 Swipe target
-startSwipeGesture
+startSlowSwipeGesture
 didBeginSwipe
 completeSwipeGesture
 willEndSwipe
diff --git a/LayoutTests/swipe/wheel-prevent-default-prevents-swipe-back-expected.txt b/LayoutTests/swipe/wheel-prevent-default-prevents-swipe-back-expected.txt
index e7a0ac32652b..975b6f62289c 100644
--- a/LayoutTests/swipe/wheel-prevent-default-prevents-swipe-back-expected.txt
+++ b/LayoutTests/swipe/wheel-prevent-default-prevents-swipe-back-expected.txt
@@ -1,3 +1,4 @@
 Swipe target
+startSlowSwipeGesture
 completeSwipeGesture
 
CVE-2024-27844
May 13, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A website’s permission dialog may persist after navigation away from the site

Researchers: Narendra Bhati of Suma Soft Pvt. Ltd in Pune (India), Shaheen Fazim

Attribute Value
CVE CVE-2024-27844
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

CVE-2024-27850
May 13, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A maliciously crafted webpage may be able to fingerprint the user

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2024-27850
Bugzilla 270767
Component WebKit
Bug Class LogicError
Severity medium
Commit a451fac2e9034eaf…
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed with improvements to the noise injection algorithm.

Files Changed

Source Files

  • Source/WebKit/ChangeLog
  • Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp

Patch Preview

diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index 30328cf6e845..c83f5658a6fb 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,13 @@
+2020-12-14  Carlos Garcia Campos  <[email protected]>
+
+        [WPE][GTK] Should enable WebProcessCache
+        https://bugs.webkit.org/show_bug.cgi?id=219689
+
+        Reviewed by Adrian Perez de Castro.
+
+        * UIProcess/API/glib/WebKitWebContext.cpp:
+        (webkitWebContextConstructed):
+
 2020-12-13  Yusuke Suzuki  <[email protected]>
 
         [JSC] Introduce vmEntryCustomAccessor and vmEntryHostFunction for JITCage
diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
index f7faa5880bf0..acf9ccdb6d12 100644
--- a/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
@@ -391,6 +391,7 @@ static void webkitWebContextConstructed(GObject* object)
 
     API::ProcessPoolConfiguration configuration;
     configuration.setInjectedBundlePath(FileSystem::stringFromFileSystemRepresentation(bundleFilename.get()));
+    configuration.setUsesWebProcessCache(true);
 #if PLATFORM(GTK)
     configuration.setProcessSwapsOnNavigation(priv->psonEnabled);
 #if !USE(GTK4)
CVE-2024-27851
May 13, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to arbitrary code execution

Researchers: Nan Wang (@eternalsakura13) of 360 Vulnerability Research Institute

Attribute Value
CVE CVE-2024-27851
Bugzilla 272106
Component WebCore
Bug Class OOB
Severity critical
Commit f93441ff7ade8faf…
Advisory Apple Advisory

Root Cause Analysis

The ControlStates class wrapped an OptionSet<States> with a uint16_t enum and was passed by reference through the theme rendering pipeline. Platform-specific RenderTheme implementations used the internal state bitmask to index into style lookup tables without proper bounds validation. When rendering form controls (checkboxes, inputs, options) with certain state combinations, the computed index could exceed the lookup table bounds, causing an out-of-bounds read. The fix deletes the ControlStates wrapper entirely and replaces it with OptionSet<ControlStyle::State>, which is passed by value and eliminates the unsafe reference-based access pattern.

CVE-2024-27856
May 13, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing a file may lead to unexpected app termination or arbitrary code execution

Researchers: Maksymilian Motyl of Immunity Systems, Junsung Lee working with Trend Micro Zero Day Initiative, and ajajfxhj

Attribute Value
CVE CVE-2024-27856
Bugzilla 268765
Component WebCore
Bug Class LogicError
Severity critical
Commit 0d0caf9579718608…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/dom/ContainerNode.cpp

Test Files

  • LayoutTests/fast/dom/set-attribute-and-normalize-in-event-expected.txt
  • LayoutTests/fast/dom/set-attribute-and-normalize-in-event.html

Patch Preview

diff --git a/LayoutTests/fast/dom/set-attribute-and-normalize-in-event-expected.txt b/LayoutTests/fast/dom/set-attribute-and-normalize-in-event-expected.txt
new file mode 100644
index 000000000000..74c1f9350acf
--- /dev/null
+++ b/LayoutTests/fast/dom/set-attribute-and-normalize-in-event-expected.txt
@@ -0,0 +1,3 @@
+CONSOLE MESSAGE: RangeError: Maximum call stack size exceeded.
+CONSOLE MESSAGE: RangeError: Maximum call stack size exceeded.
+
diff --git a/LayoutTests/fast/dom/set-attribute-and-normalize-in-event.html b/LayoutTests/fast/dom/set-attribute-and-normalize-in-event.html
new file mode 100644
index 000000000000..5ec7cdccafa5
--- /dev/null
+++ b/LayoutTests/fast/dom/set-attribute-and-normalize-in-event.html
@@ -0,0 +1,17 @@
+<script>
+    function runTest() {
+        if (window.testRunner)
+            window.testRunner.dumpAsText();
+
+        marqueeElement.addEventListener("DOMSubtreeModified", () => {
+            try { hrElement.before(hrElement); } catch (e) { }
+            marqueeElement.normalize();
+        });
+
+        marqueeElement.setAttribute("a", "");
+    }
+</script>
+
+<body onload=runTest()>
+    <marquee id="marqueeElement">
+        <hr id="hrElement" width="1"></hr>
diff --git a/Source/WebCore/dom/ContainerNode.cpp b/Source/WebCore/dom/ContainerNode.cpp
index 30c7e9e66ba8..d3372f8d09d1 100644
--- a/Source/WebCore/dom/ContainerNode.cpp
+++ b/Source/WebCore/dom/ContainerNode.cpp
@@ -890,10 +890,11 @@ ExceptionOr<void> ContainerNode::appendChildWithoutPreInsertionValidityCheck(Nod
 
 ExceptionOr<void> ContainerNode::insertChildrenBeforeWithoutPreInsertionValidityCheck(NodeVector&& newChildren, Node* nextChild)
 {
+    RefPtr refChild = nextChild;
     for (auto& child : newChildren) {
         if (RefPtr oldParent = child->parentNode()) {
-            if (nextChild == child.ptr())
-                nextChild = child->nextSibling();
+            if (refChild.get() == child.ptr())
+                refChild = child->nextSibling();
             if (auto result = oldParent->removeChild(child); result.hasException())
                 return result.releaseException();
         }
@@ -910,14 +911,14 @@ ExceptionOr<void> ContainerNode::insertChildrenBeforeWithoutPreInsertionValidity
 
     ChildListMutationScope mutation(*this);
     for (auto& child : newChildren) {
-        if (nextChild && nextChild->parentNode() != this) // Event listeners moved nextChild elsewhere.
+        if (refChild && refChild->parentNode() != this) // Event listeners moved nextChild elsewhere.
             break;
         if (child->parentNode()) // Event listeners inserted this child elsewhere.
             break;
-        executeNodeInsertionWithScriptAssertion(*this, child.get(), nextChild, ChildChange::Source::API, ReplacedAllChildren::No, [&] {
+        executeNodeInsertionWithScriptAssertion(*this, child.get(), refChild.get(), ChildChange::Source::API, ReplacedAllChildren::No, [&] {
             child->setTreeScopeRecursively(treeScope());
-            if (nextChild)
-                insertBeforeCommon(*nextChild, child.get());
+            if (refChild)
+                insertBeforeCommon(*refChild, child.get());
             else
                 appendChildCommon(child);
         });
CVE-2024-1580
Mar 25, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing an image may lead to arbitrary code execution

Researchers: Nick Galloway of Google Project Zero

Attribute Value
CVE CVE-2024-1580
Bugzilla None
Component WebKit
Bug Class OOB
Severity critical
Advisory Apple Advisory

Root Cause Analysis

An out-of-bounds write issue was addressed with improved input validation.

CVE-2024-23254
Mar 7, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may exfiltrate audio data cross-origin

Researchers: James Lee (@Windowsrcer)

Attribute Value
CVE CVE-2024-23254
Bugzilla 263795
Component WebCore
Bug Class CrossOrigin
Severity medium
Commit 26583bfadc4b6606…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved UI handling.

Files Changed

Source Files

  • Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp

Test Files

  • LayoutTests/TestExpectations
  • LayoutTests/platform/gtk/TestExpectations
  • LayoutTests/platform/wpe/TestExpectations

Patch Preview

diff --git a/LayoutTests/TestExpectations b/LayoutTests/TestExpectations
index c7a1442ce349..2f79a1e5d51c 100644
--- a/LayoutTests/TestExpectations
+++ b/LayoutTests/TestExpectations
@@ -3711,8 +3711,6 @@ webkit.org/b/219735 imported/w3c/web-platform-tests/css/css-font-loading/fontfac
 
 # @font-face: size-adjust and text-decoration
 webkit.org/b/206881 imported/w3c/web-platform-tests/css/css-fonts/size-adjust-text-decoration.tentative.html [ ImageOnlyFailure ]
-# @font-face: size-adjust and optical-size
-webkit.org/b/255862 imported/w3c/web-platform-tests/css/css-fonts/variations/variable-opsz-size-adjust.html [ ImageOnlyFailure ]
 
 # We intentionally do not want to allow disabling required ligatures, so we don't honor this optional test.
 imported/w3c/web-platform-tests/css/css-fonts/font-variant-ligatures-11.optional.html [ ImageOnlyFailure ]
diff --git a/LayoutTests/platform/gtk/TestExpectations b/LayoutTests/platform/gtk/TestExpectations
index 6399c3a72d4d..d8915a7e8068 100644
--- a/LayoutTests/platform/gtk/TestExpectations
+++ b/LayoutTests/platform/gtk/TestExpectations
@@ -812,6 +812,9 @@ webkit.org/b/161962 fast/forms/implicit-submission.html [ Failure ]
 
 webkit.org/b/169531 fast/text/font-selection-font-face-parse.html [ Skip ]
 
+# @font-face: missing integration between size-adjust and optical-size
+ webkit.org/b/256457 imported/w3c/web-platform-tests/css/css-fonts/variations/variable-opsz-size-adjust.html [ ImageOnlyFailure ]
+
 # CSS image-orientation is not yet enabled.
 webkit.org/b/89052 fast/css/image-orientation [ Skip ]
 
diff --git a/LayoutTests/platform/wpe/TestExpectations b/LayoutTests/platform/wpe/TestExpectations
index 2d246b5db981..b24120c77621 100644
--- a/LayoutTests/platform/wpe/TestExpectations
+++ b/LayoutTests/platform/wpe/TestExpectations
@@ -771,6 +771,9 @@ webkit.org/b/217370 fast/events/setDragImage-element-non-nullable.html [ Failure
 
 webkit.org/b/256310 imported/w3c/web-platform-tests/css/css-fonts/parsing/font-face-src-tech.html [ Skip ]
 
+# @font-face: missing integration between size-adjust and optical-size
+ webkit.org/b/256457 imported/w3c/web-platform-tests/css/css-fonts/variations/variable-opsz-size-adjust.html [ ImageOnlyFailure ]
+
 # WebXR
 webkit.org/b/225483 [ Release ] imported/w3c/web-platform-tests/webxr/events_input_source_recreation.https.html [ Pass ]
 webkit.org/b/225483 [ Release ] imported/w3c/web-platform-tests/webxr/events_input_sources_change.https.html [ Pass ]
diff --git a/Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp b/Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp
index 7fea5f90a5a4..0362bd3efb01 100644
--- a/Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp
+++ b/Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp
@@ -42,13 +42,13 @@ FontCustomPlatformData::~FontCustomPlatformData() = default;
 
 FontPlatformData FontCustomPlatformData::fontPlatformData(const FontDescription& fontDescription, bool bold, bool italic, const FontCreationContext& fontCreationContext)
 {
+    auto size = fontDescription.adjustedSizeForFontFace(fontCreationContext.sizeAdjust());
     UnrealizedCoreTextFont unrealizedFont = { RetainPtr { fontDescriptor } };
-    unrealizedFont.setSize(fontDescription.computedPixelSize());
+    unrealizedFont.setSize(size);
     unrealizedFont.modify([&](CFMutableDictionaryRef attributes) {
         addAttributesForWebFonts(attributes, fontDescription.shouldAllowUserInstalledFonts());
     });
 
-    auto size = fontDescription.adjustedSizeForFontFace(fontCreationContext.sizeAdjust());
     FontOrientation orientation = fontDescription.orientation();
     FontWidthVariant widthVariant = fontDescription.widthVariant();
 
CVE-2024-23263
Mar 7, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may prevent Content Security Policy from being enforced

Researchers: Johan Carlsson (joaxcar)

Attribute Value
CVE CVE-2024-23263
Bugzilla 264811
Component WebKit
Bug Class LogicError
Severity medium
Commit 15bdd42ec40b5b90…
Advisory Apple Advisory

Root Cause Analysis

A logic issue was addressed with improved validation.

Files Changed

Source Files

  • Tools/Scripts/update-angle

Patch Preview

diff --git a/Tools/Scripts/update-angle b/Tools/Scripts/update-angle
index ef380ec9a7f7..d8f402d3a9e8 100755
--- a/Tools/Scripts/update-angle
+++ b/Tools/Scripts/update-angle
@@ -2,6 +2,7 @@
 set -e
 cd "$(dirname "$0")/../../Source/ThirdParty/ANGLE"
 ANGLE_DIR="$PWD"
+ANGLE_TARGET_COMMIT="origin/main"
 
 regenerate_changes_diff() {
     echo "Regenerating changes.diff."
@@ -42,11 +43,12 @@ regenerate_program_version_id() {
 
 usage() {
     SCRIPT_NAME=$(basename "$0")
-    echo "USAGE: $SCRIPT_NAME [-h|--help] -[--regenerate-changes-diff[-main]]"
+    echo "USAGE: $SCRIPT_NAME [-h|--help] -[--regenerate-changes-diff[-main]] [commit]"
     echo "  -h | --help                      Print this help message."
     echo "  --regenerate-changes-diff        Regenerate ANGLE changes.diff to last upstream merge."
     echo "  --regenerate-changes-diff-main   Regenerate ANGLE changes.diff to upstream origin/main."
     echo "  --regenerate-program-version-id  Regenerate ANGLE ANGLEShaderProgramVersion.h."
+    echo "  commit                           The ANGLE commit to update to. Defaults to origin/main"
 }
 
 if [ ! -z "$1" ] ; then
@@ -90,10 +92,14 @@ if [ ! -z "$1" ] ; then
         echo
         echo "Success."
         exit 0
+    
+    elif [ "${1:0:2}" = -- ]; then
+        echo "ERROR: Unrecognized argument: $1"
+        usage
+        exit 1
+    else
+        ANGLE_TARGET_COMMIT="$1"
     fi
-    echo "ERROR: Unrecognized argument: $1"
-    usage
-    exit 1
 fi
 
 echo "This script helps you update the copy of ANGLE in Source/ThirdParty/ANGLE"
@@ -136,7 +142,7 @@ wait_for_rebase_to_complete() {
 cleanup_after_successful_rebase_and_exit() {
     cd "$ANGLE_DIR"
     echo
-    regenerate_changes_diff "origin/main"
+    regenerate_changes_diff "$ANGLE_TARGET_COMMIT"
     git --no-pager diff -b --cached "$LAST_ROLL_COMMIT_HASH" -- Compiler.cmake GLESv2.cmake
     echo
     echo "Rebase complete!"
@@ -155,7 +161,7 @@ cleanup_after_successful_rebase_and_exit() {
     echo "Press Enter to continue after fixing build:"
     read -r
     regenerate_program_version_id
-    regenerate_changes_diff "origin/main"
+    regenerate_changes_diff "$ANGLE_TARGET_COMMIT"
     echo "Generating contents of commit message into commit-message.txt."
     echo "Be sure to copy out this file's contents and delete it before committing."
     echo "Update ANGLE to $(git log -1 ${COMMIT_HASH} --format=%cs) (${COMMIT_HASH}))" > commit-message.txt
@@ -196,8 +202,9 @@ cd "$ANGLE_DIR"
 echo "Downloading latest ANGLE via git clone."
 # Remove all files including hidden ones, but not . or ..
 rm -rf ..?* .[!.]* ./*
-git clone --branch main https://chromium.googlesource.com/angle/angle .
+git clone https://chromium.googlesource.com/angle/angle .
 echo "Successfully downloaded latest ANGLE."
+git checkout -q "$ANGLE_TARGET_COMMIT"
 echo "Commit hash: "
 COMMIT_HASH=$(git rev-parse HEAD)
 echo "$COMMIT_HASH"
@@ -222,7 +229,7 @@ sed -i.bak -e "s/<string>[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]<\/string>/<s
 rm ANGLE.plist.bak
 
 echo "Translating gni build files to cmake."
-git checkout origin/main -- src/compiler.gni src/libGLESv2.gni src/libANGLE/renderer/d3d/BUILD.gn
+git checkout "$ANGLE_TARGET_COMMIT" -- src/compiler.gni src/libGLESv2.gni src/libANGLE/renderer/d3d/BUILD.gn
 ./gni-to-cmake.py src/compiler.gni Compiler.cmake
 ./gni-to-cmake.py src/libGLESv2.gni GLESv2.cmake
 ./gni-to-cmake.py src/libANGLE/renderer/d3d/BUILD.gn D3D.cmake --prepend 'src/libANGLE/renderer/d3d/'
@@ -244,7 +251,7 @@ git replace --graft "$LAST_ROLL_COMMIT_HASH" "$PREVIOUS_ANGLE_COMMIT_HASH"
 git checkout -b rebased-webkit-changes
 
 echo "Rebasing WebKit's local changes on latest ANGLE main."
-if ! git rebase origin/main; then
+if ! git rebase "$ANGLE_TARGET_COMMIT"; then
     echo
     echo "There is now a temporary git repo in Source/ThirdParty/ANGLE with a"
     echo "rebase in progress. You must resolve the merge conflict and continue"
CVE-2024-23273
Mar 7, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Private Browsing tabs may be accessed without authentication

Researchers: Matej Rabzelj

Attribute Value
CVE CVE-2024-23273
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

This issue was addressed through improved state management.

CVE-2024-23280
Mar 7, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A maliciously crafted webpage may be able to fingerprint the user

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2024-23280
Bugzilla 266703
Component WebCore
Bug Class LogicError
Severity medium
Commit 17c0ad98bb1ce2d5…
Advisory Apple Advisory

Root Cause Analysis

An injection issue was addressed with improved validation.

Files Changed

Source Files

  • Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp

Test Files

  • LayoutTests/http/tests/security/file-system-access-via-dataTransfer-expected.txt
  • LayoutTests/http/tests/security/file-system-access-via-dataTransfer.html

Patch Preview

diff --git a/LayoutTests/http/tests/security/file-system-access-via-dataTransfer-expected.txt b/LayoutTests/http/tests/security/file-system-access-via-dataTransfer-expected.txt
new file mode 100644
index 000000000000..641ddaebab3e
--- /dev/null
+++ b/LayoutTests/http/tests/security/file-system-access-via-dataTransfer-expected.txt
@@ -0,0 +1,10 @@
+Test that accessing local file system metadata is not allowed
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS Should not receive file
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/http/tests/security/file-system-access-via-dataTransfer.html b/LayoutTests/http/tests/security/file-system-access-via-dataTransfer.html
new file mode 100644
index 000000000000..caf05e1f85fc
--- /dev/null
+++ b/LayoutTests/http/tests/security/file-system-access-via-dataTransfer.html
@@ -0,0 +1,50 @@
+<html>
+<head>
+<script src="/js-test-resources/js-test.js"></script>
+<body>
+
+<script>
+description("Test that accessing local file system metadata is not allowed");
+
+function runTest() {
+    if (!window.internals) {
+        alert("This test depends on Internals");
+        return;
+    }
+
+    window.jsTestIsAsync = true;
+
+    let path = location.pathname.split("/");
+    let targetFileName = internals.createTemporaryFile(`${path[path.length - 1]}`, "");
+
+    let input = document.createElement("input");
+    input.type = "file";
+
+    let file = new File([], targetFileName, {"type":"text/plain"});
+
+    dataTransfer = new DataTransfer();
+    dataTransfer.items.add(file)
+    input.files = dataTransfer.files;
+
+    var functionOnSuccess = function (file)
+    {
+        testFailed("Should not receive file");
+        finishJSTest()
+    }
+
+    var functionOnError = function (value)
+    {
+        testPassed("Should not receive file");
+        finishJSTest()
+    }
+
+    input.webkitEntries.forEach((entry) => {
+        entry.file(functionOnSuccess, functionOnError)
+    });
+}
+
+runTest();
+
+</script>
+</body>
+</html>
diff --git a/Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp b/Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp
index 0c08ddbec609..e86b3dcc356c 100644
--- a/Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp
+++ b/Source/WebCore/Modules/entriesapi/DOMFileSystem.cpp
@@ -303,6 +303,9 @@ void DOMFileSystem::getEntry(ScriptExecutionContext& context, FileSystemDirector
         return;
     }
 
+    if (m_rootPath.isEmpty())
+        return completionCallback(Exception { ExceptionCode::NotFoundError, "Path does not exist"_s });
+
     m_workQueue->dispatch([protectedThis = Ref { *this }, context = Ref { context }, fullPath = crossThreadCopy(WTFMove(fullPath)), resolvedVirtualPath = crossThreadCopy(WTFMove(resolvedVirtualPath)), completionCallback = WTFMove(completionCallback)]() mutable {
         auto entryType = fileTypeIgnoringHiddenFiles(fullPath);
         callOnMainThread([protectedThis = WTFMove(protectedThis), context = WTFMove(context), resolvedVirtualPath = crossThreadCopy(WTFMove(resolvedVirtualPath)), entryType, completionCallback = WTFMove(completionCallback)]() mutable {
@@ -327,6 +330,8 @@ void DOMFileSystem::getEntry(ScriptExecutionContext& context, FileSystemDirector
 
 void DOMFileSystem::getFile(ScriptExecutionContext& context, FileSystemFileEntry& fileEntry, GetFileCallback&& completionCallback)
 {
+    if (m_rootPath.isEmpty())
+        return completionCallback(Exception { ExceptionCode::NotFoundError, "Path does not exist"_s });
     auto virtualPath = fileEntry.virtualPath();
     auto fullPath = evaluatePath(virtualPath);
     m_workQueue->dispatch([fullPath = crossThreadCopy(WTFMove(fullPath)), virtualPath = crossThreadCopy(WTFMove(virtualPath)), context = Ref { context }, completionCallback = WTFMove(completionCallback)]() mutable {
CVE-2024-23284
Mar 7, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may prevent Content Security Policy from being enforced

Researchers: Georg Felber and Marco Squarcina

Attribute Value
CVE CVE-2024-23284
Bugzilla 267241
Component WebKit
Bug Class LogicError
Severity medium
Commit d4d875b3f0503741…
Advisory Apple Advisory

Root Cause Analysis

A logic issue was addressed with improved state management.

Files Changed

Test Files

  • LayoutTests/http/tests/security/referrer-policy-header.html
  • LayoutTests/platform/wk2/TestExpectations

Patch Preview

diff --git a/LayoutTests/http/tests/security/referrer-policy-header.html b/LayoutTests/http/tests/security/referrer-policy-header.html
index 4bfe3dc27a22..39f7cacc7f70 100644
--- a/LayoutTests/http/tests/security/referrer-policy-header.html
+++ b/LayoutTests/http/tests/security/referrer-policy-header.html
@@ -8,9 +8,10 @@
 <script>
 description("Tests support for Referrer-Policy HTTP header.");
 jsTestIsAsync = true;
-runTests(false);
-if (window.testRunner)
+if (window.testRunner) {
+    testRunner.waitUntilDone();
     testRunner.setStatisticsShouldDowngradeReferrer(false, async () => { await runTests(false /* multipart */); });
+}
 </script>
 </body>
 </html>
diff --git a/LayoutTests/platform/wk2/TestExpectations b/LayoutTests/platform/wk2/TestExpectations
index 10c1bdbcf4de..59832160e345 100644
--- a/LayoutTests/platform/wk2/TestExpectations
+++ b/LayoutTests/platform/wk2/TestExpectations
@@ -870,6 +870,4 @@ webkit.org/b/259409 imported/w3c/web-platform-tests/cookies/partitioned-cookies/
 
 webkit.org/b/259482 fast/media/managed-media-source-open-crash.html [ Pass Failure ]
 
-webkit.org/b/260632 http/tests/security/referrer-policy-header.html [ Pass Failure Crash ]
-
 webkit.org/b/260640 [ Release arm64 ] editing/execCommand/apply-inline-style-to-element-with-no-renderer-crash.html [ Pass Failure ]
CVE-2024-54658
Mar 7, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing web content may lead to a denial-of-service

Researchers: anbu1024 of SecANT

Attribute Value
CVE CVE-2024-54658
Bugzilla 263758
Component WebCore
Bug Class LogicError
Severity medium
Commit 85133f0883e415c6…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebCore/ChangeLog
  • Source/WebCore/page/RuntimeEnabledFeatures.h

Patch Preview

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index c3e287485b44..42adcd8a5f7f 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2020-06-30  Youenn Fablet  <[email protected]>
+
+        Set runtime flag m_isWebRTCPlatformCodecsInGPUProcessEnabled to false by default
+        https://bugs.webkit.org/show_bug.cgi?id=213779
+
+        Reviewed by Alex Christensen.
+
+        No change of behavior since this flag is WebKit 2 only and off by default.
+        Move off by default WebRTC flags at the end of the section.
+
+        * page/RuntimeEnabledFeatures.h:
+
 2020-06-30  Jason Lawrence  <[email protected]>
 
         Unreviewed, reverting r263753.
diff --git a/Source/WebCore/page/RuntimeEnabledFeatures.h b/Source/WebCore/page/RuntimeEnabledFeatures.h
index 2c8d52308ec4..79d26723fb96 100644
--- a/Source/WebCore/page/RuntimeEnabledFeatures.h
+++ b/Source/WebCore/page/RuntimeEnabledFeatures.h
@@ -512,12 +512,12 @@ class RuntimeEnabledFeatures {
 
 #if ENABLE(WEB_RTC)
     bool m_isWebRTCDTMFEnabled { true };
-    bool m_isWebRTCH265CodecEnabled { false };
-    bool m_isWebRTCVP9CodecEnabled { false };
     bool m_isPeerConnectionEnabled { true };
-    bool m_isWebRTCMDNSICECandidatesEnabled { false };
     bool m_isWebRTCH264SimulcastEnabled { true };
-    bool m_isWebRTCPlatformCodecsInGPUProcessEnabled { true };
+    bool m_isWebRTCMDNSICECandidatesEnabled { false };
+    bool m_isWebRTCPlatformCodecsInGPUProcessEnabled { false };
+    bool m_isWebRTCH265CodecEnabled { false };
+    bool m_isWebRTCVP9CodecEnabled { false };
 #endif
 
 #if ENABLE(LEGACY_CSS_VENDOR_PREFIXES)
CVE-2024-23206
Jan 22, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A maliciously crafted webpage may be able to fingerprint the user

Researchers: an anonymous researcher

Attribute Value
CVE CVE-2024-23206
Bugzilla 262699
Component WebKit
Bug Class LogicError
Severity medium
Commit 89314de81d9bcf4a…
Advisory Apple Advisory

Root Cause Analysis

An access issue was addressed with improved access restrictions.

Files Changed

Source Files

  • Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in

Patch Preview

diff --git a/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in b/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
index 9734cf26a015..a37b59016703 100644
--- a/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
+++ b/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
@@ -37,6 +37,9 @@
 (allow process-info-codesignature)
 #endif
 
+(deny file-read-metadata
+    (literal "/private/var/db/MobileIdentityData/Version.plist"))
+
 ;;;
 ;;; The following rules were originally contained in 'common.sb'. We are duplicating them here so we can
 ;;; remove unneeded sandbox extensions.
CVE-2024-23211
Jan 22, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A user’s private browsing activity may be visible in Settings

Researchers: Mark Bowers

Attribute Value
CVE CVE-2024-23211
Bugzilla None
Component WebKit
Bug Class LogicError
Severity medium
Advisory Apple Advisory

Root Cause Analysis

A privacy issue was addressed with improved handling of user preferences.

CVE-2024-23213
Jan 22, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing web content may lead to arbitrary code execution

Researchers: Wangtaiyu of Zhongfu info

Attribute Value
CVE CVE-2024-23213
Bugzilla 266619
Component WebKit
Bug Class LogicError
Severity critical
Commit 8b7b2179aa726973…
Advisory Apple Advisory

Root Cause Analysis

The issue was addressed with improved memory handling.

Files Changed

Source Files

  • Source/WebKit/CMakeLists.txt

Patch Preview

diff --git a/Source/WebKit/CMakeLists.txt b/Source/WebKit/CMakeLists.txt
index 3b782a4b3d6f..bd39f0753235 100644
--- a/Source/WebKit/CMakeLists.txt
+++ b/Source/WebKit/CMakeLists.txt
@@ -40,6 +40,7 @@ set(WebKit_PRIVATE_INCLUDE_DIRECTORIES
     "${WEBKIT_DIR}/Shared/CoreIPCSupport"
     "${WEBKIT_DIR}/Shared/Databases"
     "${WEBKIT_DIR}/Shared/Databases/IndexedDB"
+    "${WEBKIT_DIR}/Shared/Extensions"
     "${WEBKIT_DIR}/Shared/FileAPI"
     "${WEBKIT_DIR}/Shared/Gamepad"
     "${WEBKIT_DIR}/Shared/Notifications"
CVE-2024-23222
Jan 22, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been exploited.

Attribute Value
CVE CVE-2024-23222
Bugzilla 267134
Component WebCore
Bug Class TypeConfusion
Severity critical
Commit a973b2b5b5cbd087…
Advisory Apple Advisory

Root Cause Analysis

A type confusion issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/ChangeLog
  • Source/WebCore/layout/layouttree/LayoutBox.cpp

Patch Preview

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 399d9430452c..3a1a74aa194a 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2020-09-15  Zalan Bujtas  <[email protected]>
+
+        [LFC][FFC] 'display: flex' generates a flex container box that is block-level when placed in flow layout
+        https://bugs.webkit.org/show_bug.cgi?id=216596
+
+        Reviewed by Simon Fraser.
+
+        See https://www.w3.org/TR/css-flexbox-1/#flex-containers.
+
+        * layout/layouttree/LayoutBox.cpp:
+        (WebCore::Layout::Box::isBlockLevelBox const):
+
 2020-09-15  Zalan Bujtas  <[email protected]>
 
         [LFC] Use isBlockBox() in Box::establishesBlockFormattingContext
diff --git a/Source/WebCore/layout/layouttree/LayoutBox.cpp b/Source/WebCore/layout/layouttree/LayoutBox.cpp
index ae3b1a4e1369..6f2f203834cf 100644
--- a/Source/WebCore/layout/layouttree/LayoutBox.cpp
+++ b/Source/WebCore/layout/layouttree/LayoutBox.cpp
@@ -295,7 +295,7 @@ bool Box::isBlockLevelBox() const
 {
     // Block level elements generate block level boxes.
     auto display = m_style.display();
-    return display == DisplayType::Block || display == DisplayType::ListItem || display == DisplayType::Table;
+    return display == DisplayType::Block || display == DisplayType::ListItem || display == DisplayType::Table || display == DisplayType::Flex;
 }
 
 bool Box::isBlockBox() const
CVE-2024-23271
Jan 22, 2024

Overview

Advisory: Apple Security Advisory

Impact:

Description: A malicious website may cause unexpected cross-origin behavior

Researchers: James Lee (@Windowsrcer)

Attribute Value
CVE CVE-2024-23271
Bugzilla 265812
Component WebCore
Bug Class CrossOrigin
Severity medium
Commit cd10fd03842d94b7…
Advisory Apple Advisory

Root Cause Analysis

A logic issue was addressed with improved checks.

Files Changed

Source Files

  • Source/WebCore/ChangeLog
  • Source/WebCore/css/CSSSelector.cpp

Test Files

  • LayoutTests/ChangeLog
  • LayoutTests/TestExpectations

Patch Preview

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 409133b0ed61..e0a3e7cb2553 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2020-08-18  Antti Koivisto  <[email protected]>
+
+        The CSS specificity of :host() pseudo-classes is wrong
+        https://bugs.webkit.org/show_bug.cgi?id=202494
+        <rdar://problem/66292568>
+
+        Reviewed by Anders Carlsson.
+
+        * TestExpectations:
+
 2020-08-18  Diego Pino Garcia  <[email protected]>
 
         [GTK] Unreviewed test gardening. Update test baseline after r265749.
diff --git a/LayoutTests/TestExpectations b/LayoutTests/TestExpectations
index e17f48539072..1d87e2921dd0 100644
--- a/LayoutTests/TestExpectations
+++ b/LayoutTests/TestExpectations
@@ -4420,7 +4420,6 @@ webkit.org/b/214461 imported/w3c/web-platform-tests/css/css-pseudo/spelling-erro
 webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-001.html [ ImageOnlyFailure ]
 webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-002.html [ ImageOnlyFailure ]
 webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/host-context-specificity-003.html [ ImageOnlyFailure ]
-webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/host-specificity.html [ ImageOnlyFailure ]
 webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/host-with-default-namespace-001.html [ ImageOnlyFailure ]
 webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-001.tentative.html [ ImageOnlyFailure ]
 webkit.org/b/214462 imported/w3c/web-platform-tests/css/css-scoping/shadow-directionality-002.tentative.html [ ImageOnlyFailure ]
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 3433c7799ce4..383409fd4bc2 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2020-08-18  Antti Koivisto  <[email protected]>
+
+        The CSS specificity of :host() pseudo-classes is wrong
+        https://bugs.webkit.org/show_bug.cgi?id=202494
+        <rdar://problem/66292568>
+
+        Reviewed by Anders Carlsson.
+
+        https://drafts.csswg.org/css-scoping/#host-selector
+
+        “The specificity of :host() is that of a pseudo-class, plus the specificity of its argument.”
+
+        * css/CSSSelector.cpp:
+        (WebCore::simpleSelectorSpecificityInternal):
+
 2020-08-18  Youenn Fablet  <[email protected]>
 
         Add a JS built-in routine to mark a promise as handled
diff --git a/Source/WebCore/css/CSSSelector.cpp b/Source/WebCore/css/CSSSelector.cpp
index afd9bab0f9e6..c810b21d9c98 100644
--- a/Source/WebCore/css/CSSSelector.cpp
+++ b/Source/WebCore/css/CSSSelector.cpp
@@ -128,6 +128,7 @@ static unsigned simpleSelectorSpecificityInternal(const CSSSelector& simpleSelec
             return 0;
         case CSSSelector::PseudoClassNthChild:
         case CSSSelector::PseudoClassNthLastChild:
+        case CSSSelector::PseudoClassHost:
             return CSSSelector::addSpecificities(static_cast<unsigned>(SelectorSpecificityIncrement::ClassB), simpleSelector.selectorList() ? maxSpecificity(*simpleSelector.selectorList()) : 0);
         default:
             break;