RepoJournal
Mobile platforms

Mobile platforms

Flutter, Swift, and Kotlin - the mobile platforms developers ship on

Keep up with Mobile platforms in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

One email a day. Unsubscribe in one click.

Pick a date

Topics: Mobile Full archive →

The Wire · Showcase

FLUTTER GPU BUFFER EXPLOIT CLOSES, SWIFT OPTIMIZATIONS SHIP

By RepoJournal · Filed · About Mobile platforms

Flutter's GPU shader loader was reading untrusted buffers without verification, the exact vulnerability pattern that just got fixed in two sibling systems.

The flutter_gpu ShaderLibrary parser was checking file identifiers but skipping the critical FlatBuffer verification step before accessing internal offsets, leaving the door open for out-of-bounds reads on corrupted payloads [1]. This mirrors the structural-verification gap that was just patched in Flutter's two other loaders, suggesting a systemic gap in the codebase. On the accessibility front, Flutter's Linux layer had a more subtle memory corruption: FlAccessibleNode was storing weak pointers to the engine and parent on the node itself rather than on the target objects, so the pointers never cleared when targets were destroyed [2]. The AT-SPI bridge can keep nodes alive past engine teardown, making subsequent dereferences fatal. Over in Swift, the compiler team shipped significant optimizer work: SimplifyKeyPath now runs in SILCombine, handles class_method users, and properly inserts compensating destroys to avoid lifetime shortening [3]. The frontend also converted NLOptions to an OptionSet, enabling exposure to ASTGen for upcoming swift-syntax validation [4]. Kotlin's build toolchain tightened up with an update to idea-ext 1.4.1, killing Gradle deprecation warnings that were scheduled to break in Gradle 10 [5].

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] Verify shader bundle FlatBuffer before access in flutter_gpu ShaderLibrary ↗ flutter/flutter
  2. [2] [linux] Use GWeakRef for engine and parent in FlAccessibleNode ↗ flutter/flutter
  3. [3] SimplifyKeyPath: some improvements and fixes ↗ apple/swift
  4. [4] [Frontend] Convert `NLOptions` to an `OptionSet` ↗ apple/swift
  5. [5] [Build] Update idea-ext plugin to 1.4.1 JetBrains/kotlin

Quick answers

What shipped in Mobile platforms on June 29, 2026?
Flutter's GPU shader loader was reading untrusted buffers without verification, the exact vulnerability pattern that just got fixed in two sibling systems. In total, 9 commits and 8 pull requests landed.
Who contributed to Mobile platforms on June 29, 2026?
4 developers shipped this update, including adilburaksen, robert-ancell, eeckstein, and filip-sakel.
What were the notable Mobile platforms updates?
Verify shader bundle FlatBuffer before access in flutter_gpu ShaderLibrary, [linux] Use GWeakRef for engine and parent in FlAccessibleNode, and SimplifyKeyPath: some improvements and fixes.

More from Mobile platforms

Daily updates, in your inbox

Follow Mobile platforms

Keep up with Mobile platforms in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?

We use privacy-friendly analytics (Google Analytics, IP-anonymized) to see which pages help readers. No ads, and we never sell your data. See our Privacy Policy.