~/talk

Detecting Race Conditions on macOS

Talkat BSidesSF 2026 Β· on Saturday, 2026-03-21Β· at 13:45Β· AMC Theatre 07, AMC at MetreonΒ· [security]
slides:none on file

GCD misconfiguration causes real exploitable timing windows: a missing target queue on an XPC listener lets handlers run concurrently and led to GSSCred CVE (2018) enabling root memory corruption. Detection uses static checks for missing queue targeting, scans for dispatch_sync to serial queues, and runtime tooling like the Xcode Thread Performance Checker. Telemetry signals include repeated crash stacks around handler code, sustained thread churn and rapid thread creation, and queue backlog spikes; rate-limit or score parallel XPC bursts and correlate with crashes.

AI-written summary Β· about

  1. 0:00Introduction and setup
  2. 1:56Processes threads and concurrency basics
  3. 4:41Grand Central Dispatch overview
  4. 7:08Priority inversion in macOS
  5. 10:18Testing for priority inversions
  6. 12:03Dispatch sync deadlocks explained
  7. 14:52Resource starvation via GCD
  8. 18:03GSS cred race condition case study
  9. 23:23XPC and sandbox escape risks
  10. 25:30Static review patterns for races
  11. 26:13Telemetry signals for concurrency bugs
  12. 28:19Detection engineering approach
  13. 29:21Summary and key takeaways
  14. 30:46Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark β€” the status bar button does the same
?
this help
esc
close this, then clear every filter β€” or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.