This Week in WebKit — August 08 - August 14, 2026
Featured
A compromised renderer can name another origin's private filesystem and read, overwrite or delete it. The check already existed — just not on the messages that needed it.
From a compromised renderer, a victim site's cached responses are readable — and writable. The write direction is the one that survives the reload.
Ordinary script drives both the free and the read inside a single DOM mutation. The odd part is what the page has to feed the table first.
Cross-origin pixels leave the canvas as a video frame and come back readable. No race, no corruption, no user gesture — just a second way out.
A datalist dropdown button keeps calling into an owner a click handler can retire. Its two sibling shadow elements already had the guard — this one never got it.
The earlier fix reads as locked at every call site and locks nothing across them. Eight workers and one clip-path are enough to reach it, reliably.
Notable development
Other security-relevant changes
- [WebCore OpenType GSUB] (integer wraparound, OOB read)
2196077— OpenType GSUB Coverage Format 2 파싱 과정에서 uint16_t 범위 계산 중 integer wraparound가 발생합니다.end + 1연산이 0으로 wraparound되면서 bounds check를 무력화시킵니다. 결과적으로 attacker가 제어하는 font 데이터로부터 heap 영역에 대한 out-of-bounds read가 가능해집니다. - [WebCore Mac controls] (race condition)
4c7a59d— GPU process에서 발생하던 data race가 수정되었습니다.NSServicesRolloverButtonCell이 여러RemoteRenderingBackendwork-queue thread 사이에서 공유되면서, 동기화 없이 동시에 설정되고 그려지고 있었습니다. 이제ControlFactory마다 개별 복사본을 갖도록 변경되었습니다. - [JSC FTL OSR exit compiler]
a02f996— FTL OSR exit의reboxAccordingToFormat에DataFormatStoragehandler가 추가되었습니다. Live butterfly pointer를 가진 phantom array를 materialization하는 과정에서 발생하던RELEASE_ASSERT_NOT_REACHEDcrash를 방지합니다. - [WebCore loader / NavigationRequester] (info-disclosure)
84ea03d—about:blank문서가 cross-origin policy container를 상속하는 대상이 잘못되어 있었습니다. 원래는javascript:URL을 실행시킨 initiator로부터 상속받아야 하는데, 대신 iframe으로부터 상속받고 있었습니다. 이로 인해SecurityPolicyViolationEvent를 통해 CSP와 referrer 정보가 노출될 수 있었으며, 이번 수정으로 해당 문제가 해결되었습니다. - [WebKit WebPrivacyHelpers] (race condition, UAF)
9950c65—TrackerDomainLookupInfo에서 발생하던 data race가 수정되었습니다. resolver thread가 update thread의 동시 rehashing 과정에서 이미 해제된 메모리를 읽는 문제였습니다.Lock과WTF_REQUIRES_LOCKannotation을 통해 보호되도록 변경되었습니다. - [WebCore Fullscreen API] (UI spoofing)
1ab2bb4— Fullscreen API의 keyboard lock 기능이 기본적으로 비활성화되었습니다. Escape 키를 길게 눌러 종료하는 방식에 대한 UI 안내가 불충분해서, 사용자 혼란과 spoofing 위험으로 이어질 수 있었습니다.