libquic.dylib crash during QUIC path migration on iOS 26 (quic_migration_probe_path / nw_protocol_data_access_buffer)

libquic.dylib crashes with a null/invalid buffer access in nw_protocol_data_access_buffer during QUIC connection path migration on iOS 26. App code is not in the stack — this is entirely within Apple system libraries.

We are seeing a consistent crash on iOS 26 that does not reproduce on iOS 17 or iOS 18. The crash occurs on a background thread ("com.apple.network.connections") with no application code in the crashed thread's stack.

The crash trace begins in quic_migration_probe_path and terminates in nw_protocol_data_access_buffer + 180, suggesting a use-after-free or buffer lifetime violation during QUIC connection path migration (e.g., Wi-Fi ↔ Cellular handoff).

This crash does not appear to be reproducible on demand — it correlates with network path transitions while QUIC connections are active. Our app uses standard URLSession with default/ephemeral session configurations and does not explicitly enable HTTP/3; iOS 26 is automatically upgrading eligible connections.

Crash thread (abbreviated):
  0  libquic.dylib    quic_conn_send_packet + 144
  1  libquic.dylib    quic_conn_continue_sending + 424
  2  libquic.dylib    __quic_conn_send_frames_for_key_state_block_invoke_2 + 1244
  3  Network          nw_protocol_data_access_buffer + 180   ← crash
  4  Network          nw_protocol_data_copy_buffer
  5  Network          nw_endpoint_flow_output_frames
  6  libquic.dylib    quic_conn_send_frames_for_key_state
  7  libquic.dylib    quic_conn_send_frames
  8  libquic.dylib    quic_migration_probe_path + 1464
  9  libquic.dylib    quic_migration_path_established + 2608
  10 libquic.dylib    __quic_migration_path_event_block_invoke.21
  11 libquic.dylib    quic_migration_path_event
  12 Network          nw_protocol_implementation_connected

There is no app code in the crashed thread. This is a regression introduced in iOS 26, where libquic.dylib was separated into its own dynamic library and new path migration probe logic was introduced.

Answered by DTS Engineer in 892094022

The Network framework reached out to me to let me know that they’re already tracking this issue (r. 171639997). They hope to fix it sooner rather than later, but I’ve no concrete timeline to share.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Do you have a crash report for this? If so, please post it. See Posting a Crash Report for advice on how to do that.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

The Network framework reached out to me to let me know that they’re already tracking this issue (r. 171639997). They hope to fix it sooner rather than later, but I’ve no concrete timeline to share.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Hi! We're seeing the same thing.

Happens around 20-30 times per day, most of the time when user puts the app in the background.

Do you happen to know if there are any updates on the ticket linked?

@DTS Engineer what's the update here? we have been facing this crash 3 per day

Has anyone see this on a machine running xyzOS 27?

The above-mentioned bug (r. 171639997) is reported as fixed in xyzOS 27, so I’m hoping that the answer here is “No” (-:

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Hey @DTS Engineer, unfortunately we're still seeing this on both iOS 27 and 27.1 (at a similar rate).

Attaching the most recent crash rate.

Please let me know if there's any way we can help with debugging this problem. As far as I understand there is no way to turn this feature off?

unfortunately we're still seeing this on both iOS 27 and 27.1

Bummer.

That crash report doesn’t look like it came from Apple. Do you have an Apple crash report for this? I’m specifically looking for one in JSON (.ips) format (see Posting a Crash Report).

FWIW, I took another look at that bug and, yeah, we definitely made fixes and they are definitely in iOS 27. My only conclusion is that there’s some other cause for this crash.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Hey Quinn, first things first - I'd love to apologize.

It seems that we actually don't have those crashes present on iOS 27. I saw 26.7.1 and my brain just merged the number and came up with 27.1 (which should have been a red flag already since AFAIK it hasn't been fully rolled out yet).

Again, sorry for the hassle here and thank you for staying on top of things!

Hey hey, I made exactly the same mistake that you did!

I’m glad one of us finally noticed, and thanks for cluing me in.

Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

libquic.dylib crash during QUIC path migration on iOS 26 (quic_migration_probe_path / nw_protocol_data_access_buffer)
 
 
Q