[qt/qt/qtwebengine-chromium]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qt/qtwebengine-chromium
Pushed by mirror-service into branch '140-based'.
Changed from a26988d1ad1c47909a063a679d72c959697d2e1d to f5ab470c8e50a15d336c840d5fbfb92ece0d2a89
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit d156adcaa1244b901314b304ce87ee9133bce77d by Michal Klocek (on behalf of Geoff Lang) on 22/07/2026 at 08:09..
[backport] CVE-2026-14385: Heap buffer overflow in ANGLE

Metal: Treat glGenerateMipmap as an image redefinition.

When TextureMtl::generateMipmap creates a native storage, it doesn't
treat it as a texture redefinition and clear out old images. This leaves
images with formats and sizes that do not match the storage.

Fixed: chromium:499006005
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7806315
Task-number: CVE-2026-14385
Change-Id: I78cdbf77ccb75469fba3ca4654ea9118aa80edd5
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753820
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/d156adcaa1244b901314b304ce87ee9133bce77d

Git commit 182a2e34d63c807bd8adfe47d48cdb4e98a93799 by Michal Klocek (on behalf of Tzarial) on 22/07/2026 at 08:09..
[backport] CVE-2026-14386: Out of bounds read in ANGLE

Fix GPU memory disclosure in index rewriting

When rewriting index buffers for provoking vertex workarounds, the
Metal backend could leave portions of the allocated output buffer
uninitialized. Because these buffers are recycled from a BufferPool
without being cleared, unwritten slots retained stale indices from
previous operations.

This caused a GPU memory disclosure vulnerability because:
1. The `fixIndexBuffer` compute kernel returned early upon encountering
   a primitive restart, skipping writes to reserved output slots.
2. The `ContextMtl::drawElementsImpl` logic sliced the draw commands
   based on the original index buffer's restart points, but failed to
   transform the slice `count` and `offset` to account for the buffer
   expansion (e.g., TriangleStrip to Triangles).

This CL fixes the issue by:
- Updating `outputPrimitive` in `rewrite_indices.metal` to explicitly
  write the correct `restartIndex` (either 0xFFFF or 0xFFFFFFFF) into
  all output slots whenever a thread returns early or skips indices.
- Transforming the `DrawCommandRange` slices in `ContextMtl.mm` when
  the index buffer has been expanded, ensuring subsequent indexed
  draw calls correctly index into the expanded buffer layout.
- Adding a regression test.

Bug: 499047960
Fixed: 514929155
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7814681
Task-number: QTBUG-147889
Change-Id: I2034492e2016c91064025f2b0705767d1da21783
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753821
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/182a2e34d63c807bd8adfe47d48cdb4e98a93799

Git commit f8137387698c5cda33c46995465dca248a1d5023 by Michal Klocek (on behalf of Charlie Lao) on 22/07/2026 at 08:09..
[backport] CVE-2026-14390: Use after free in ANGLE

M148: Limit VertexConversionBuffer to single attribIndex

This change prevents rendering corruption by ensuring that
VertexConversionBuffer instances are not shared across different vertex
attributes.

Key Changes: Unique Cache Key: Adds VertexArrayVk * and attribIndex to
VertexConversionBuffer::CacheKey. This ensures that attributes with
different source offsets but the same format/stride do not attempt to
reuse the same conversion buffer, which previously caused destination
offset conflicts. VertexConversionBuffer::match() is updated to include
these new fields in its comparison.

Regression tests are also added (credit to Shahbaz).

Bug: 503054174
Fixed: 514924769
(cherry picked from commit bbcfc3c0f7d3c60bd81d85877036541641b3af99)

Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7880270
Task-number: QTBUG-147889
Change-Id: Ia6e75401aa07978c94b935bc7d392f824efcca75
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753822
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/f8137387698c5cda33c46995465dca248a1d5023

Git commit b95f70bb3e7edc5c5949aea3f7153ba682a2cecd by Michal Klocek (on behalf of Le Hoang Quyen) on 22/07/2026 at 08:09..
[backport] CVE-2026-14396: Out of bounds read in ANGLE

Metal: fix primitive restart with converted indices

When using GL_UNSIGNED_BYTE indices, ANGLE's Metal backend converts
them to GL_UNSIGNED_SHORT in a shared pool.
VertexArrayMtl::getDrawIndices calculates currentIndexOffset by dividing
the pool offset by the index type size, making it relative to the start
of the pool sub-allocation. However, restart ranges from
BufferMtl::getRestartIndices are absolute element indices relative to
the original GL buffer. This mismatch causes incorrect draw splitting
when a non-zero pool offset is present, as currentIndexOffset is
artificially inflated.

Bug: angleproject:511737097
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7839560
Task-number: QTBUG-147889
Change-Id: I80e2d0d20d38376aa912c851954701fac510ea46
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753825
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/b95f70bb3e7edc5c5949aea3f7153ba682a2cecd

Git commit f878f11f7711153421bd6f9628525d1c87273738 by Michal Klocek (on behalf of Le Hoang Quyen) on 22/07/2026 at 08:09..
[backport] CVE-2026-14400: Out of bounds write in ANGLE

Metal: Fix potential OOB write in Transform Feedback

Fixes a bug where incomplete primitives in transform feedback could
cause incorrect buffer offset calculations, potentially leading to
out-of-bounds writes in the Metal backend. We now round down the
vertex count for independent primitives when XFB is active.

Bug: angleproject:513010645
Fixed: chromium:515275618
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7931427
Task-number: QTBUG-147889
Change-Id: I82b91500108fb1a7059e43479e7af87702d33b6d
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753827
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/f878f11f7711153421bd6f9628525d1c87273738

Git commit 07126d42b4b1f0ecc5efe928948ed38f612e1567 by Michal Klocek (on behalf of Ken Russell) on 22/07/2026 at 08:09..
[backport] CVE-2026-14401: Insufficient validation of untrusted input in ANGLE

Remove BlendState struct in favor of BlendStateExt.

Eliminate duplicate state tracking to fix state desynchronization
bugs. Refactor D3D9 backend to look only at index 0 of BlendStateExt.
Remove BlendState usage from FrameCapture, inlining some GL defaults
where they previously came from a temporary BlendState instance.

Add test case from bug report. Verified on Pixel 9 that the new test
fails prior to the code changes and passes with them.

Co-authored with jetski-cli.

Fixed: chromium:513048822
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7851594
Task-number: QTBUG-147889
Change-Id: Ibe9ed7e574c5519c19d215f22d082cc7e5d1c251
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753828
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/07126d42b4b1f0ecc5efe928948ed38f612e1567

Git commit f0fd74cc46f0d5bc4bf8f9a03e06051440f02c3e by Michal Klocek (on behalf of Geoff Lang) on 22/07/2026 at 08:09..
[backport] CVE-2026-14402: Uninitialized Use in ANGLE

D3D11: Avoid partial init state in Blit11.

If a resource allocation fails, Blit11 would be left in a partially
initialized state. Allocate to new stack variables and assign them to
members at the end.

Fixed: chromium:513051340
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7850285
Task-number: QTBUG-147889
Change-Id: I197715bad3db9c6eda9d8fd2cb7593450ba5e413
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753830
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/f0fd74cc46f0d5bc4bf8f9a03e06051440f02c3e

Git commit 0db98f770bc6ead19351561155e226a942f8403a by Michal Klocek (on behalf of Geoff Lang) on 22/07/2026 at 08:10..
[backport] CVE-2026-14411: Insufficient validation of untrusted input in ANGLE

GL: Sync program state after transform feedback.

If we are syncing a call to BeginTransformFeedback,
PauseTransformFeedback, UseProgram all at once, the program will be
bound and then changed to an incorrect program when the transform
feedback active state is synced afterwards.

Fixed: chromium:513919827
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7858018
Task-number: QTBUG-147889
Change-Id: I66562446d364d03f628f927b4f4e8f5d7113fe4b
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753831
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/0db98f770bc6ead19351561155e226a942f8403a

Git commit 2aa3116f11bffebd98053f64e51430fa8efac69c by Michal Klocek (on behalf of Geoff Lang) on 22/07/2026 at 08:10..
[backport] CVE-2026-14412: Insufficient validation of untrusted input in ANGLE

Validate unique framebuffer attachments for hardened contexts.

This behaviour was already done for WebGL and some backends.

Fixed: chromium:513920834
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7870307
Task-number: QTBUG-147889
Change-Id: Ifedf64a9b9be2265fa0f42af4f05586dd45611cd
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753832
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/2aa3116f11bffebd98053f64e51430fa8efac69c

Git commit 06e3aa8a37bd023562f24e0fd9f24edba36fca2b by Michal Klocek (on behalf of Charlie Lao) on 22/07/2026 at 08:10..
[backport] CVE-2026-14413: Uninitialized Use in ANGLE

Vulkan: Fix stale RefCountedEventArrayWithAccessFlags::mAccessFlags

When a BufferHelper is re-initialized or orphaned (e.g., via
glBufferData), it calls initializeBarrierTracker(), which calls
mCurrentReadEvents.release(renderer). This call resolves to the base
class implementation, leaving the mAccessFlags map populated with stale
data from the buffer's previous incarnation. This may cause other
problems later on when this buffer gets used. This CL ensures we clear
mAccessFlags on release() call.

Bug: b/513922055
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7885808
Task-number: QTBUG-147889
Change-Id: I36f1d9588280001866b73c1b71c29fab0d318ef3
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753852
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/06e3aa8a37bd023562f24e0fd9f24edba36fca2b

Git commit f1f91c2f452e9b5b2e1f27642ff98d8d5e39ee85 by Michal Klocek (on behalf of wangra) on 22/07/2026 at 08:10..
[backport] CVE-2026-14418: Uninitialized Use in ANGLE

Vulkan: Fix robust-init bypass on array texture redefinition

Resets the clear cache (mCurrentSingleClearValue) in ImageHelper when
releasing the VkImage or removing staged updates. This prevents stale
cache values from incorrectly dropping subsequent robust resource
initialization clears on redefined array textures.

Test: angle_end2end_tests --gtest_filter="*Texture2DArrayRedefine*"
Bug: b/516865345
Task-number: QTBUG-147889
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7974096
Change-Id: Ie7b20a680abfe47e3b97034f182842fb470b1452
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753853
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/f1f91c2f452e9b5b2e1f27642ff98d8d5e39ee85

Git commit 5e02987355fe001f82e1db3513e8649009603268 by Michal Klocek on 22/07/2026 at 08:13..
[roll][expat] CVE-2026-13835: Inappropriate implementation in XML

Rolls expat to version 2.8 from chromium 150.0.7871.150

Task-number: QTBUG-147885
Change-Id: Ia099b989a545b2216d78901a3f939d7ed256aacd
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753747
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/5e02987355fe001f82e1db3513e8649009603268

Git commit c158e09161f2fd28e6bc81326ff0bcc13058afda by Michal Klocek (on behalf of Natalie Chouinard) on 22/07/2026 at 08:32..
[backport] CVE-2026-14392: Out of bounds write in Tint

Collapse nested subgroupMin/Max ops on AMD

On some AMD GPUs on Windows, nested subgroupMin/Max operations can
trigger a crash.

This change collapses multiple nested subgroupMin/Max calls to a single
call, the innermost subgroupMin/Max operation. This is safe because the
result of a subgroupMin/Max call is necessarily subgroup uniform.

This bug exists in both the Vulkan and D3D12 drivers on Windows, and on
Mac. On Windows it is fixed in later versions, but because it's a
harmless optimizing transform it's applied broadly to all versions on
affected backend platforms.

Bug: 508265321
Fixed: 519444494
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/314215
Task-number: QTBUG-147889
Change-Id: I658d0ddece1887d9211ad9ea2eb07a96ada0e3ce
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753823
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/c158e09161f2fd28e6bc81326ff0bcc13058afda

Git commit 885291ba96b0c55e14e13551a96da7cf273f1115 by Michal Klocek (on behalf of James Price) on 22/07/2026 at 08:32..
[backport] CVE-2026-14422: Out of bounds read and write in Tint

Add workaround for u32 div/mod miscompile

Original change's description:
> [msl] Add workaround for u32 div/mod miscompile
>
> Add a volatile zero to the LHS of all u32 divide and modulo
> operations, which fixes a miscompile on Apple Silicon.
>
> Bug: 517225032
> Change-Id: I1e9e56a5109ada6a6d89760116d5a5f24f8bacc4
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/312755
> Reviewed-by: dan sinclair <[email protected]>
> Commit-Queue: James Price <[email protected]>

(cherry picked from commit a9a6ec351486b901f0d1f6e6c46f256248bc90c0)

Bug: 517225032
Fixed: 522134088
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/316215
Task-number: QTBUG-147889
Change-Id: I89be3013cd602f5599400b13575090087994be84
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753854
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/885291ba96b0c55e14e13551a96da7cf273f1115

Git commit b57af9b96b098e72c151fa647959c210cc4cfd0b by Michal Klocek (on behalf of Yulun Zeng) on 22/07/2026 at 08:33..
[backport] CVE-2026-14426: Use after free in V8

Handle context destruction when adding binding within V8InspectorImpl::contextCreated.

Original change's description:
> Handle context destruction when adding binding within V8InspectorImpl::contextCreated.
>
> CDP specifies that the bindings must persist across reloads, and thus in
> V8InspectorImpl::contextCreated(), bindings are added again when new
> contexts are created. The issue arises when context is destroyed when
> adding binding (as the regress test shows), but the context is still
> being processed down the code path.
>
> This change skips operations on the context if it has been destroyed
> during adding binding.
>
> There is the same check before addBindings() because operations on the
> context have to skipped too when it loops to other inspector sessions.
>
> Also, `contextRef` is a `std::shared_ptr` to keep it alive when looping
> through inspector sessions. This allows getting the context ID on the
> object for other addBinding() calls within addBindings().
>
> Bug: 517981277
> Change-Id: Ic1ee273c316040acc611f6c53349b734076f7f14
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7904365
> Reviewed-by: Simon Zünd <[email protected]>
> Reviewed-by: Philip Pfaffe <[email protected]>
> Commit-Queue: Yulun Zeng <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#107830}

(cherry picked from commit 3c3aab471d2b291626328169e988e4846127e751)

Bug: 522600776,517981277
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7921560
Task-number: QTBUG-147927
Change-Id: Ic1ee273c316040acc611f6c53349b734076f7f14
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/754401
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/b57af9b96b098e72c151fa647959c210cc4cfd0b

Git commit 432a42d92a1c0f149d06d7a0250899999a3b55d0 by Michal Klocek (on behalf of Brandon Jones) on 22/07/2026 at 08:34..
[backport] CVE-2026-14428: Insufficient validation of untrusted input in Dawn

Vulkan: Avoid UB in CreateSamplerYCbCrConversion

Original change's description:
> Vulkan: Avoid UB in CreateSamplerYCbCrConversion
>
> If the Chroma Filter is linear in CreateSamplerYCbCrConversion do
> a check to ensure that the format allows for it and adjust the
> filter to nearest if not to avoid undefined behavior in
> CreateSamplerYcbcrConversion.
>
> Fixed: 520180257
> Change-Id: I6be11b5e72f83326f73a2e4ad9b6659172c83ae4
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/314296
> Reviewed-by: Corentin Wallez <[email protected]>
> Commit-Queue: Brandon Jones <[email protected]>

(cherry picked from commit dbeb906300358eb5c8f61e98a8f71f57285b714c)

Bug: 523532146,520180257
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/317015
Task-number: QTBUG-147927
Change-Id: I6be11b5e72f83326f73a2e4ad9b6659172c83ae4
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/754402
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/432a42d92a1c0f149d06d7a0250899999a3b55d0

Git commit 92f9fd486e91974d197e490089db4f56ffd84be9 by Michal Klocek (on behalf of Kaylee Lubick) on 22/07/2026 at 08:34..
[backport][parts] CVE-2026-14429: Insufficient validation of untrusted input in Skia

Avoid improper mask formats for SDFT runs

SDFTSubRun has a hard assumption of the kA8 mask format and
if the vertex filler differs, there will be a memory mismatch.

This catches it when deserializing the Slug and changes the
debug-only assert to be runtime to make sure we don't miss other
places.

Bug: 520571816
Fixed: 522134026
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1257397
Task-number: QTBUG-147927
Change-Id: I9ae3e509397e23d38d621cb7eb8bb5b955a43d7d
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/754403
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/92f9fd486e91974d197e490089db4f56ffd84be9

Git commit 96c4cd3feb68f07dd25f14dc2fad84905e072d41 by Michal Klocek (on behalf of pthier) on 22/07/2026 at 08:34..
[backport] CVE-2026-14430: Integer overflow in V8 (1/2)

Merged: [test] Reduce FastArray size in lower_limits_mode

Further reduce the size of FastArrays to 1MB (was 8MB) in
lower_limits_mode.
This ensures that the FastArray size is <= MaxStringLength also in
lower_limits_mode.

(cherry picked from commit 81ed440d87ca9963c3aeb8494ac33cc2f1af5572)

Bug: 522126182, 524508980
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7942109
Task-number: QTBUG-147927
Change-Id: I8795005c70f9f34aaffb52a970a276a65c9b5c4c
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/754404
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/96c4cd3feb68f07dd25f14dc2fad84905e072d41

Git commit c15e00183bf3d862ef814ae5471baee1bac24fd3 by Michal Klocek (on behalf of pthier) on 22/07/2026 at 08:34..
[backport] CVE-2026-14430: Integer overflow in V8 (2/2)

Reland "[M148] Check early for separator overflow in Array.prototype.join()"

This is a reland of commit b43465d71335ab36c61dfa66aaadb631f8346263

Original change's description:
> [M148] Check early for separator overflow in Array.prototype.join()
>
> Original change's description:
> > Check early for separator overflow in Array.prototype.join()
> >
> > Instead of checking if separators overflow the maximum string length
> > each time we add a (or multiple) separator(s) to the buffer, we check
> > once in the beginning (based on the separator- and array-length).
> >
> > Besides avoiding a division in the hot loop, this also fixes a potential
> > nofSeparators overflow on 32-bit platforms.
> >
> > Fixed: 522126182
> > Change-Id: Iab05848b9ec1960a925e56b11bb74569438ebafb
> > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7927166
> > Reviewed-by: Igor Sheludko <[email protected]>
> > Commit-Queue: Patrick Thier <[email protected]>
> > Cr-Commit-Position: refs/heads/main@{#107953}
>
> (cherry picked from commit 7893ac23bc1e640904892810891d144e4894ccd0)
>
> Bug: 524507838,522126182
> Change-Id: Iab05848b9ec1960a925e56b11bb74569438ebafb
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7958687
> Commit-Queue: [email protected] <[email protected]>
> Auto-Submit: chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com <chrome-cherry-picker@chops-service-accounts.iam.gserviceaccount.com>
> Bot-Commit: [email protected] <[email protected]>
> Cr-Commit-Position: refs/branch-heads/14.8@{#70}
> Cr-Branched-From: f9659283a5f8d42b3c09228cf5df606fcaf47a3d-refs/heads/14.8.178@{#1}
> Cr-Branched-From: 141232520dc4910401240c531db3af36910a0fd1-refs/heads/main@{#106240}

Bug: 524507838,522126182
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7957108
Task-number: QTBUG-147927
Change-Id: I2760309f5d1e0a8360a7b198980115b404a153da
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/754405
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/c15e00183bf3d862ef814ae5471baee1bac24fd3

Git commit 478225eb0f25849dca7c5620c2b83760ef124301 by Michal Klocek (on behalf of Victor Gomes) on 22/07/2026 at 08:34..
[backport] CVE-2026-14431: Type Confusion in V8

Check map of inlined array in ArrayIteratorPrototypeNext

Original change's description:
> [maglev] Check map of inlined array in ArrayIteratorPrototypeNext
>
> Fixed: 523884658
> Change-Id: I2a2bba817952d7023eb4b97ad41d8bb460fb9359
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7950517
> Commit-Queue: Leszek Swirski <[email protected]>
> Reviewed-by: Leszek Swirski <[email protected]>
> Auto-Submit: Victor Gomes <[email protected]>
> Cr-Commit-Position: refs/heads/main@{#108053}

(cherry picked from commit 811ebc89d5d26653f73b9b0e589591e09344e551)

Bug: 525280898,523884658
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7983510
Task-number: QTBUG-147927
Change-Id: I2a2bba817952d7023eb4b97ad41d8bb460fb9359
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/754406
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/478225eb0f25849dca7c5620c2b83760ef124301

Git commit bb83d70d3b3eed78e9eea9caca3e2441fa9e38af by Michal Klocek (on behalf of wangra) on 22/07/2026 at 11:05..
[Backport] CVE-2026-15109: Uninitialized Use in ANGLE

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/angle/angle/+/7963962:
Vulkan: Defer update pruning until image is valid

Prevents exposure of uninitialized memory and GPU memory disclosure
by deferring staged update pruning calculations until the physical
VkImage has been allocated.

Test: angle_end2end_tests --gtest_filter="*Texture2DArrayPrunedSupersededUpdatesLeak*"
Bug: b/516899138
Change-Id: Ib414934f746d75ffd7f0bd47751d0d3be41db079
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7963962
Commit-Queue: Ran Wang <[email protected]>
Reviewed-by: Charlie Lao <[email protected]>
Reviewed-by: Shahbaz Youssefi <[email protected]>
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753254
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/bb83d70d3b3eed78e9eea9caca3e2441fa9e38af

Git commit f8ab98cb17d965ba441746d50aa325321e507f85 by Michal Klocek (on behalf of Sangwhan Moon) on 22/07/2026 at 11:05..
[Backport] Dependency for CVE-2026-15114

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/7912486:
Refactor AV1 sequence header validation to fix hardware context invalidation

This change extracts sequence header comparison logic into a dedicated
helper method to improve readability. Additionally, it fixes an issue
where changes to structural parameters like 128x128 superblocks and film
grain configurations failed to trigger a hardware context
reconfiguration.

Bug: 520565945
Change-Id: I205443bb8f063ff4ee8637d7aa11f0bd79efe5e6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7912486
Commit-Queue: James Zern <[email protected]>
Commit-Queue: Sangwhan Moon <[email protected]>
Auto-Submit: Sangwhan Moon <[email protected]>
Reviewed-by: James Zern <[email protected]>
Reviewed-by: Dale Curtis <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1644968}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753261
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/f8ab98cb17d965ba441746d50aa325321e507f85

Git commit d0e486219df949d551f7f0e3bbd6381f7f6cba89 by Michal Klocek (on behalf of Sangwhan Moon) on 22/07/2026 at 11:05..
[Backport] CVE-2026-15114: Out of bounds read and write in Codecs

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/8021903:
Fix AV1 hardware context invalidation on sequence tool flag changes

When mid-stream sequence headers alter coding tool flags such as
enable_ref_frame_mvs, enable_order_hint, or enable_superres without
triggering a configuration change, AV1Decoder reuses the existing
hardware context and memory pools. This can cause driver state
desynchronization and out-of-bounds reads/writes if scratch buffers
were not allocated at context creation time.

This change updates RequiresHardwareContextReset() to check all 15
sequence-level coding tool flags that gate hardware resource
allocations.

Bug: 520565945
Test: media_unittests --gtest_filter=AV1DecoderTest.ConfigChangeOnSequenceHeaderToolFlags
Change-Id: I586bdd9347fec513e3e73a3983528d9635b4576c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8021903
Reviewed-by: Ted (Chromium) Meyer <[email protected]>
Commit-Queue: Ted (Chromium) Meyer <[email protected]>
Reviewed-by: Hirokazu Honda <[email protected]>
Auto-Submit: Sangwhan Moon <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1655533}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753262
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/d0e486219df949d551f7f0e3bbd6381f7f6cba89

Git commit a9e9f330519a2d8ca70e21289c239190da487fec by Michal Klocek (on behalf of Vladimir Levin) on 22/07/2026 at 11:05..
[Backport] CVE-2026-15118: Use after free in Input

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/7941475:
Extend weak self checks to more places in HandleInputEvent

Various calls can delete the "this" object, so extend the checks
to more spots.

[email protected]

Bug: 523238265
Change-Id: Ifb5b22fbc09bdbcb3a33be65b935d6633c9d03fa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7941475
Reviewed-by: Dave Tapuska <[email protected]>
Commit-Queue: Vladimir Levin <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1647525}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753255
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/a9e9f330519a2d8ca70e21289c239190da487fec

Git commit 70c7f775835d563c3512bb0d0bc18a46c5bf211a by Michal Klocek (on behalf of Tove Petersson) on 22/07/2026 at 11:05..
[Backport] CVE-2026-15119: Inappropriate implementation in GetUserMedia

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/8004471:
Abort pending AudioInputDeviceManager open when closed early

AudioInputDeviceManager::Open() returns a session id immediately and
queries the audio system asynchronously. If Close() is called for that
session before the query completes, the device is not yet in |devices_|
so Close() returns without doing anything, and the later
OpenedOnIOThread() callback still registers the device, leaving a
session that MediaStreamManager no longer tracks.

Track sessions whose open is still in flight and drop the result of
OpenedOnIOThread() when Close() has already been called for the session.

Bug: 523505418
Change-Id: Ib64b19cbf2fb3077bae7107b11d0570d4551efde
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8004471
Commit-Queue: Tove Petersson <[email protected]>
Reviewed-by: Guido Urdaneta <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1654054}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753256
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/70c7f775835d563c3512bb0d0bc18a46c5bf211a

Git commit 6ae89c77fa5643e3ece821db6406d7c48a4bbc8c by Michal Klocek (on behalf of Ted Meyer) on 22/07/2026 at 11:05..
[Backport] Dependency for CVE-2026-15121

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/7180528:
Fix raw ptr to stack local binding

`result` and `waiter` are both stack local, captured by unretained raw
ptrs, passed across thread, and then deleted, potentially before that
thread can write back into them.

Now they are owned by RTCVideoDecodeAdapter, and only written into by an
init_cb which is bound to a weak_ptr to it, so they can never get UAF'd.

R=dalecurtis

Fixed: 461214000
Change-Id: I82702adc1af8d3d407053539971d93f78d7e7861
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7180528
Reviewed-by: Dale Curtis <[email protected]>
Commit-Queue: Ted (Chromium) Meyer <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1548220}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753269
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/6ae89c77fa5643e3ece821db6406d7c48a4bbc8c

Git commit c3a358d2a1222565854f3a6e25236f3cc577043d by Michal Klocek (on behalf of Erik Språng) on 22/07/2026 at 11:06..
[Backport] CVE-2026-15121: Use after free in WebRTC

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/7992498:
Add better handling of RtcVideoDecoderAdapter init timeout.

This CL introduced as new private `OnInitializeDone()` callback method
and uses the `weak_decoder_this_` instead of unreatined
`video_decoder_.get()`.

Bug: 523712556
Change-Id: Icc2f8272b948dbc4fa65d5175dbcf60cea033462
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7992498
Reviewed-by: Guido Urdaneta <[email protected]>
Commit-Queue: Erik Språng <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1652310}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753260
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/c3a358d2a1222565854f3a6e25236f3cc577043d

Git commit 037b684f367460cf275c46d0f961bde6e6d99b27 by Michal Klocek (on behalf of David Baron) on 22/07/2026 at 11:06..
[Backport] CVE-2026-15123: Insufficient data validation in DOM

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/7963938:
Recheck prerequisites when inserting multiple nodes into a Document.

This moves the check of prerequisites earlier so that it also applies
when the parent node is a Document.  This is needed so that we check
that the nodes' parents are still all null.

The added test is a simplified version of the AI-generated test provided
in the bug.  Without the fix it fails a DCHECK in DCHECK-enabled builds,
at third_party/blink/renderer/core/dom/container_node.cc:400:
DCHECK failed: !target_node->parentNode().

Fixed: 523729553
Change-Id: I409e096d54150f97083a281e0b3dee5a203015ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7963938
Commit-Queue: David Baron <[email protected]>
Reviewed-by: Mason Freed <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1650442}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753257
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/037b684f367460cf275c46d0f961bde6e6d99b27

Git commit 0c1bdb515d1accd1fb3a245adcc00537a2f9a91c by Michal Klocek (on behalf of Joey Arhar) on 22/07/2026 at 11:06..
[Backport] Dependency for CVE-2026-15125, CVE-2026-15126, CVE-2026-15128 (1/3)

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/7744228:
Add Element::MatchesDisabledPseudoClass

Some elements have special logic for matching :disabled, and having an
overridable method like this matches the presence of
Element::MatchesEnabledPseudoClass and allows elements to override the
behavior without adding a bunch of cases to SelectorChecker.

This patch doesn't change any behavior, and is in preparation for adding
new logic for option elements to change the way they match :disabled.

Bug: 490082172
Change-Id: Ice376ab1f6b6bf6cceae925b89375207a6b62f5b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7744228
Commit-Queue: Joey Arhar <[email protected]>
Reviewed-by: Joey Arhar <[email protected]>
Reviewed-by: David Baron <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1614138}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753802
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/0c1bdb515d1accd1fb3a245adcc00537a2f9a91c

Git commit b3a6acd0df3a1e285e3e447d54d7770f67e2c7da by Michal Klocek (on behalf of Joey Arhar) on 22/07/2026 at 11:06..
[Backport] Dependency for CVE-2026-15125, CVE-2026-15126, CVE-2026-15128 (2/3)

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/7624129:
Make option:disabled match inside disabled select

Options and optgroups aren't considered disabled when they are inside a
disabled select, which is causing an issue for customizable select UA
styles where hover styles are activating when the select is disabled.

Some code still needs to consider options inside a disabled select as
enabled in order to make sure that an option becomes selected inside a
disabled select, so now the :enabled and :disabled pseudo-classes don't
match up with the internally disabled state.

Context: https://github.com/w3c/csswg-drafts/issues/13383
Spec PR: https://github.com/whatwg/html/pull/12205

Fixed: 490082172
Change-Id: I8c4dac7ee5da5e36ab205a536d36651528937df8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7624129
Reviewed-by: David Baron <[email protected]>
Reviewed-by: Joey Arhar <[email protected]>
Commit-Queue: Joey Arhar <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1624951}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753794
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/b3a6acd0df3a1e285e3e447d54d7770f67e2c7da

Git commit d97081b69ed823fdc5e3005f0bf02ee82820af53 by Michal Klocek (on behalf of Joey Arhar) on 22/07/2026 at 11:06..
[Backport] Dependency for CVE-2026-15125, CVE-2026-15126, CVE-2026-15128 (3/3)

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/7921190:
Fix option element disabled invalidation

Now that option and optgroup elements match the :disabled selector based
on whether their ancestor select is disabled via the
OptionDisablednessCheckAncestors flag from
commit a76ffb0bf65c2530cfc3a6b1334f0dc4e9638de6, they need to have their
:disabled and :enabled pseudo-classes invalidated when their ancestor
select has its disabledness changed.

Fixed: 490082172
Change-Id: Ic712a8eeac2de23502eb9f6690fe0e46faef7a20
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7921190
Reviewed-by: David Baron <[email protected]>
Reviewed-by: Joey Arhar <[email protected]>
Commit-Queue: Joey Arhar <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1651106}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753795
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/d97081b69ed823fdc5e3005f0bf02ee82820af53

Git commit cf732ac6d437759204177a8f037a692f836ab12e by Michal Klocek (on behalf of Joey Arhar) on 22/07/2026 at 11:06..
[Backport] CVE-2026-15125, CVE-2026-15126, CVE-2026-15128: Inappropriate implementation / Use after free in Forms

Manual backport of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/7948021:
Don't fire change event during mutations affecting disabledness

Running script inside mutations (InsertedInto, RemovedFrom, MovedFrom)
is not allowed.

Fixed: 523756329, 523748081, 523737685
Change-Id: Ib0842d5c8fcf837d96f270a8d50d4189ef151d06
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7948021
Reviewed-by: Joey Arhar <[email protected]>
Reviewed-by: David Baron <[email protected]>
Commit-Queue: Joey Arhar <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1652428}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753263
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/cf732ac6d437759204177a8f037a692f836ab12e

Git commit be25fee0eb567daa877b850195229990dd1c72fc by Michal Klocek (on behalf of Brandon Jones) on 22/07/2026 at 11:06..
[Backport] CVE-2026-15127: Inappropriate implementation in WebGL

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/8025784:
WebGL: use per-caller resolvers for makeXRCompatible()

makeXRCompatible() cached a single ScriptPromiseResolver while the async
XR-compatible request was in flight and returned that resolver's promise
to every subsequent caller. Because a single WebGLRenderingContextBase
is shared by every world that wraps a given canvas, a caller from a
different world could be handed a Promise that didn't belong to its
world.

Track all pending callers in a HeapVector instead, creating a fresh
resolver bound to the caller's ScriptState for each call and
resolving/rejecting them together when the in-flight request completes
(the same pattern as HTMLMediaElement's play() resolvers). Add a
wpt_internal test that calls makeXRCompatible() from an isolated world
while a main-world request is pending and checks that the returned
Promise belongs to the calling world.

(Patch and description provided by Project Fortify)

Fixed: 523752265
Change-Id: I9f5bf2d79cc4ee1ae8564f13175bbba2af0f58b2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8025784
Reviewed-by: Alexander Cooper <[email protected]>
Commit-Queue: Brandon Jones <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1655552}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753259
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/be25fee0eb567daa877b850195229990dd1c72fc

Git commit 6c0f4fa826b82c36bb3d856a6bab089853d0fc0e by Michal Klocek (on behalf of Darius Mercadier) on 22/07/2026 at 11:06..
[Backport] CVE-2026-15132: Uninitialized Use in V8

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/v8/v8/+/8005985:
[turboshaft] Mark array initializing stores as initializing

With the right combination of loop unrolling and a bunch of other
optimizations kicking in in the perfect way, this missing annotation
can lead to the initializing stores being elided and the GC observing
uninitialized memory.

Fixed: 527385397
Change-Id: I581f8bf8b518a64d2a3427ab18746c1242ba6194
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8005985
Reviewed-by: Nico Hartmann <[email protected]>
Auto-Submit: Darius Mercadier <[email protected]>
Commit-Queue: Nico Hartmann <[email protected]>
Cr-Commit-Position: refs/heads/main@{#108296}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753258
Reviewed-by: Allan Sandfeld Jensen <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/6c0f4fa826b82c36bb3d856a6bab089853d0fc0e

Git commit 0842cb1e258eff1e6f960b318a06ca10dae82f7d by Michal Klocek (on behalf of Wan-Teh Chang) on 22/07/2026 at 11:07..
[Backport] CVE-2026-15767: Heap buffer overflow in libyuv

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8031724:
I010ToNV12: dispatch Convert16To8Row on halfwidth

The Convert16To8Row function pointer in I010ToNV12 is only ever called
with halfwidth for the chroma planes (the Y plane goes through
Convert16To8Plane which has its own dispatch), but its SIMD variants
were selected based on the alignment of the full luma width. When width
is a multiple of 32 but halfwidth is not, the bare AVX2 kernel was
selected and over-read the chroma sources and over-wrote the temporary
row buffer. Match the MergeUVRow dispatch in the same function and key
on halfwidth.

Bug: chromium:514748734
Change-Id: I4c2a42857828cdcc6505ebaa65d5b6a95b0f7e55
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/8031724
Reviewed-by: Frank Barchard <[email protected]>
Commit-Queue: Wan-Teh Chang <[email protected]>
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753107
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/0842cb1e258eff1e6f960b318a06ca10dae82f7d

Git commit 8e600d8d0648012f7dcd5037503383e23c3dc492 by Michal Klocek (on behalf of Sam Parker) on 22/07/2026 at 11:07..
[Backport] CVE-2026-15770: Uninitialized Use in V8

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/v8/v8/+/8024753:
[compiler][arm64][arm] IsOnlyUserOfNodeInSameBlock

Don't try to use IsOnlyUserOfNodeInSameBlock when the continuation is
anything but a branch or set as it's possible that we've already
explored through the original conditional setting instruction and are
trying to optimise a binop that would then have to be pulled past a
use to be tied to the continuation.

Bug: 524792614
Change-Id: I94a3c46799197c152873ea9f09e99ff4db4efccd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8024753
Reviewed-by: Nico Hartmann <[email protected]>
Commit-Queue: Sam Parker-Haynes <[email protected]>
Reviewed-by: Daniel Lehmann <[email protected]>
Cr-Commit-Position: refs/heads/main@{#108482}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753108
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/8e600d8d0648012f7dcd5037503383e23c3dc492

Git commit 9afbb666f50c709e21927eb4b44978eebac95338 by Michal Klocek (on behalf of Eugene Zemtsov) on 22/07/2026 at 11:11..
[Backport] CVE-2026-15771: Insufficient validation of untrusted input in Media

Manual backport of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/8013291:
media: Validate source texture format in PerformD3DCopy

Unfortunately ID3D11DeviceContext::CopySubresourceRegion silently drops
copies between incompatible formats.
This change adds an explicit check in PerformD3DCopy to ensure the
source texture is DXGI_FORMAT_NV12 before copying.

Bug: 525177160
Change-Id: I262079c23c553938c08cdc381b8f6d5b2b86d3ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8013291
Reviewed-by: Ted (Chromium) Meyer <[email protected]>
Commit-Queue: Eugene Zemtsov <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1653876}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753110
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/9afbb666f50c709e21927eb4b44978eebac95338

Git commit 4d759f0324e6094b75109e46d2979339cc6126fc by Michal Klocek (on behalf of Tzarial) on 22/07/2026 at 11:11..
[Backport] CVE-2026-15772: Use after free in GPU

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/8015318:
[agy][gpu] Fix FBO delete-while-bound bug

Ensure the previous framebuffer is restored before deleting the
temporary framebuffer in GLTextureHolder::ReadbackToMemory.

Some drivers retain an internal reference to the previously bound FBO
across bind transitions; deleting it while bound and then rebinding
can dereference freed driver state.

Fixed: 525317502
Test: gpu_unittests --gtest_filter=GLTextureHolderTest.*
Change-Id: I359330bb3d1d07c7605b85039081a5f70d8c10c4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8015318
Reviewed-by: Corentin Wallez <[email protected]>
Reviewed-by: Colin Blundell <[email protected]>
Commit-Queue: Tzarial <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1657204}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753105
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/4d759f0324e6094b75109e46d2979339cc6126fc

Git commit 9383d030c7235271b772ca61d016ba4539744935 by Michal Klocek (on behalf of Xinchao Tian) on 22/07/2026 at 11:12..
[Backport] CVE-2026-15773: Use after free in Core

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/8003496:
Guard against re-entrant destruction in CreateNewWindow

CreateNewWindow() (opener-suppressed path) calls
delegate_->AddNewContents() and then continues using state owned by this
(opener, delegate_, primary frame tree).

On Windows, AddNewContents() may enter a nested message loop while
showing a new browser window. A window-close message can destroy the
opener WebContents during this call, causing use-after-free.

Fix by capturing a WeakPtr to this before calling AddNewContents() and
aborting if it is invalidated, similar to existing weak_new_contents
logic.

Add a browsertest that destroys the opener inside AddNewContents() to
prevent regressions.

Bug: 527676561
Change-Id: If224916a349113845cce68c438b04f451126d6ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8003496
Commit-Queue: Xinchao Tian <[email protected]>
Reviewed-by: Alex Moshchuk <[email protected]>
Reviewed-by: Bo Liu <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1653497}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753104
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/9383d030c7235271b772ca61d016ba4539744935

Git commit 7a8ea1099276359e16fa43c8ed6f19c607c7b432 by Michal Klocek (on behalf of Arthur Sonzogni) on 22/07/2026 at 11:12..
[Backport] CVE-2026-15774: Use after free in Skia

Cherry-pick of patch originally reviewed on
https://skia-review.googlesource.com/c/skia/+/1284796:
Fix Use-After-Free in SubRunAllocator

The destruction order of `std::tuple` members is not specified by the
C++ standard. This is the root cause of a Use-After-Free (UAF) in
SubRunAllocator. Replacing the tuple with a custom struct resolves the
issue by guaranteeing the correct destruction order.

The Bug:
During deserialization of a Slug (specifically in
SlugImpl::MakeFromBuffer), if the input buffer is invalid or corrupted,
Skia detects this and returns nullptr early.

This early return destroys the temporary return value. In the old code
(using `std::tuple`), `SubRunInitializer` (index 0) was destructed
first and freed the backing memory.

`SubRunAllocator` (index 2) was destructed next. Its destructor
(~BagOfBytes) then attempted to access fEndByte (which points inside
the freed memory), resulting in a UAF (read) followed by a wild-free
or double-free.

The Fix:
We replaced the `std::tuple` with a custom helper struct
`AllocateAndArenaResult`:

struct AllocateAndArenaResult {
    SubRunInitializer<T> initializer; // Destructed last
    int totalMemorySize;
    SubRunAllocator alloc;            // Destructed first
};

Since struct members are guaranteed to be destructed in the reverse
order of their declaration, declaring `alloc` last guarantees it is
destructed before `SubRunInitializer` frees the memory.

Additionally, this CL refactors `SubRunInitializer` to use
`std::unique_ptr` with a custom deleter to manage the raw memory,
removing the need for a manual destructor and making the ownership
transfer explicit via `release()`.

Bug: skia:530646115
Change-Id: I80cba4fdb9eebfe16e5ec837d70b5646422fbcff
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/1284796
Commit-Queue: Kaylee Lubick <[email protected]>
Reviewed-by: Kaylee Lubick <[email protected]>
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753103
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/7a8ea1099276359e16fa43c8ed6f19c607c7b432

Git commit f4392e582804f99cc579537743b58bee5a0cc348 by Michal Klocek (on behalf of Igor Sheludko) on 22/07/2026 at 11:12..
[Backport] CVE-2026-15775: Insufficient policy enforcement in V8

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/v8/v8/+/8064992:
[stack-traces] Make .stack accessors look only at receiver

... when reading internal stack trace or message (i.e. [[ErrorData]]
slot). Update tests accordingly.

This is a first step towards implementing Error Stack Accessor proposal
https://tc39.es/proposal-error-stack-accessor/#sec-get-error.prototype-stack.

Fixed: 531319201
Bug: 512450179
Change-Id: I333769d61d20c99b59250b8cbd2dcf3172b56640
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8064992
Reviewed-by: Olivier Flückiger <[email protected]>
Commit-Queue: Igor Sheludko <[email protected]>
Cr-Commit-Position: refs/heads/main@{#108587}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753102
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/f4392e582804f99cc579537743b58bee5a0cc348

Git commit b64cac4e71e9a53eb9fb38185b5db596604e4e56 by Michal Klocek (on behalf of pthier) on 22/07/2026 at 11:12..
[Backport] CVE-2026-15776: Type Confusion in V8

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/v8/v8/+/8070079:
[regexp] Hard Check that index + 1 is a Smi in AdvanceStringIndex

Bug: 532595489
Change-Id: I3fb2a3246ebbf801b883cc9fe22a7903cf7b1edd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8070079
Reviewed-by: Jakob Linke <[email protected]>
Commit-Queue: Patrick Thier <[email protected]>
Auto-Submit: Patrick Thier <[email protected]>
Cr-Commit-Position: refs/heads/main@{#108562}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753101
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/b64cac4e71e9a53eb9fb38185b5db596604e4e56

Git commit 16af55701838c2aee4b66bffbe7789cfa935f47d by Michal Klocek (on behalf of Test User) on 22/07/2026 at 11:12..
[Backport] CVE-2026-15778: Insufficient validation of untrusted input in Navigation

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/8028880:
Reject redirects from blob: URL navigations

NavigationURLLoaderImpl already assumes that requests to the blob:
scheme are never redirected and skips interceptor setup on that basis.
Make that assumption explicit in OnReceiveRedirect: if a redirect
arrives while loading a blob: URL, fail the navigation with
ERR_UNSAFE_REDIRECT instead of consulting bypass_redirect_checks from
the response head, since the underlying Blob endpoint may live outside
the browser process and a real blob load never produces a redirect.

Add a content_browsertest that registers a blink::mojom::Blob whose
Load() responds with OnReceiveRedirect and verifies that navigating to
its blob: URL fails rather than following the redirect.

TAG=agy
CONV=51d0251b-c784-4f07-b4fe-93b5087402df

Fixed: 513795122
Change-Id: I8525501812232c2aa2bef9422d282ad4c12112e0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8028880
Commit-Queue: Minoru Chikamune <[email protected]>
Reviewed-by: Rakina Zata Amni <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1656964}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753109
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/16af55701838c2aee4b66bffbe7789cfa935f47d

Git commit c7bb9bf7a726c40ed1e03523631d013862f18032 by Michal Klocek (on behalf of Sangwhan Moon) on 22/07/2026 at 11:12..
[Backport] CVE-2026-15899: Use after free in CameraCapture

Manual backport of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/7912588:
[mac] Fix use-after-free in VideoCaptureDeviceApple Mojo callback

AVFoundation invokes OnPhotoTaken and OnPhotoError on an arbitrary
background queue. VideoCaptureDeviceApple::OnPhotoTaken was previously
executing std::move(photo_callback_).Run(...) directly on that
background thread, which causes threading violations and potential
use-after-free/double-free issues if the VideoCaptureDeviceApple
instance is destroyed concurrently, or if photo_callback_ is accessed
while being modified on the main task runner.

Bug: 516987782
Change-Id: Ibefa689f22116a4e5e3d89da7a3476af36c55251
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7912588
Reviewed-by: Ilya Nikolaevskiy <[email protected]>
Commit-Queue: Sangwhan Moon <[email protected]>
Auto-Submit: Sangwhan Moon <[email protected]>
Reviewed-by: Ted (Chromium) Meyer <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1656796}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753800
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/c7bb9bf7a726c40ed1e03523631d013862f18032

Git commit 03c7c98fa18bf7a977ea805c898e4a77792cac05 by Michal Klocek (on behalf of Tzarial) on 22/07/2026 at 11:12..
[Backport] CVE-2026-15900: Use after free in GPU

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/8015317:
[agy][gpu] Fix active transform feedback buffer tracking

An active (even if paused/unbound) transform feedback object continues
to reference its attached buffers in the driver until
glEndTransformFeedback. If a different transform feedback object is
bound, the previous one becomes unbound but remains active, and its
attached buffers should still be considered busy and locked.

This CL refactors IndexedBufferBindingHost and TransformFeedback to use
AreBuffersBound() instead of is_bound_ directly. For
TransformFeedback, AreBuffersBound() is defined as (is_bound_ ||
active_). This preserves symmetric SetIsBound(true/false) calls on
TransformFeedback while correctly tracking buffer bindings on active
(but paused/unbound) transform feedback objects.

Additionally, this CL addresses destruction edge cases by:
1. Adding ForceUnbindBuffers() to prevent a buffer binding state leak
   on destruction of an active but unbound transform feedback object.
2. Restricting glEndTransformFeedback() inside the destructor to only
   run when the object is currently bound, matching GL requirements.

Fixed: 523750584
Test: gpu_unittests --gtest_filter=TransformFeedbackManagerTest.*
Change-Id: I4d9f0f133e18e54f57a14e15b9c5d70a36a099a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8015317
Reviewed-by: Kai Ninomiya <[email protected]>
Commit-Queue: Kai Ninomiya <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1659202}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753796
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/03c7c98fa18bf7a977ea805c898e4a77792cac05

Git commit 843719168ebfb1d6d864047ff8b4c83f7c6a5c44 by Michal Klocek (on behalf of Maks Orlovich) on 22/07/2026 at 11:13..
[Backport] CVE-2026-15901: Use after free in Network

Cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/8074044:
SimpleCache: fix problems with self-deletion in post-doom callbacks

Fixed: 533446300
Change-Id: I130245edb091f1d48437d74a59aa012667a6227b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8074044
Reviewed-by: Josh Karlin <[email protected]>
Commit-Queue: Maks Orlovich <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1661113}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753797
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/843719168ebfb1d6d864047ff8b4c83f7c6a5c44

Git commit dfba70f70f40542adc94e1c425bab29581c8145f by Michal Klocek (on behalf of Victor Gomes) on 22/07/2026 at 11:13..
[Backport] CVE-2026-15903: Out of bounds read and write in V8

Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/v8/v8/+/8052504:
[turbofan] Keep safe-integer check in ToNumber Word32 lowering

Fixed: 531503216
Change-Id: Icd80dc73acffe448922c6d3a33e7b750662223af
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8052504
Commit-Queue: Victor Gomes <[email protected]>
Auto-Submit: Victor Gomes <[email protected]>
Reviewed-by: Nico Hartmann <[email protected]>
Cr-Commit-Position: refs/heads/main@{#108479}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753798
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/dfba70f70f40542adc94e1c425bab29581c8145f

Git commit f5ab470c8e50a15d336c840d5fbfb92ece0d2a89 by Michal Klocek (on behalf of Tom Anderson) on 22/07/2026 at 11:13..
[Backport] CVE-2026-15905: Use after free in Aura

Manual backport of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/8072900:
[aura] Guard against root window destruction in ScopedCursorHider

Avoid Use-After-Free during device scale factor changes on Linux/X11 by
using an aura::WindowTracker inside
ScopedCursorHider::~ScopedCursorHider(). Previously,
display::Screen::Get()->GetDisplayNearestWindow() could synchronously
dispatch events that tear down the root window and the CursorClient. By
tracking window destruction, the window is verified to be alive after
returning from display queries before making calls on the CursorClient.

Fixed: 532970574
Change-Id: I495fa5f12bf0a58fb047009d792366879e75521b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8072900
Commit-Queue: Thomas Anderson <[email protected]>
Reviewed-by: Colin Blundell <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1661444}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/753799
Reviewed-by: Kaloyan Chehlarski <[email protected]>
https://invent.kde.org/qt/qt/qtwebengine-chromium/-/commit/f5ab470c8e50a15d336c840d5fbfb92ece0d2a89
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.