Upgrading NEFilterDataProvider Causes System Network Interruption

Hi, when I perform an overlay installation via a PKG on macOS for an application containing the NEFilterDataProvider functionality, there is a chance that the entire system network becomes unreachable. Disabling the corresponding Content Filter in "System Settings > Network > Filters" immediately restores network connectivity. This issue does not occur every time, with a frequency of approximately 1 in 20 installation attempts.



The following details may help identify the problem:

  1. The Filter.app containing the NEFilterDataProvider resides within the main app's Resources directory, e.g., /Applications/Main.app/Contents/Resources/Filter.app
  2. Main.app is installed via a PKG; the issue typically occurs during an overlay installation of Main.app.
  3. The NEFilterDataProvider operates as a System Extension.
  4. The func handleNewFlow(_ flow: NEFilterFlow) -> NEFilterNewFlowVerdict {} returns .allow.
  5. Wireshark packet captures show TCP packets but no UDP packets; TCP handshakes cannot complete.
  6. Disabling the corresponding content filter in "System Settings > Network > Filters" restores the network; re-enabling it breaks connectivity again.
  7. After waiting for a period, approximately 30-60 minutes, network connectivity can recover automatically.

What causes this and how can it be fixed? Any workarounds?

Please file a bug about this, including a sysdiagnose of the Mac taken shortly after reproducing the problem.

Once you’re done, post your bug number and I’ll reply based on that.

Share and Enjoy

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

Upgrading NEFilterDataProvider Causes System Network Interruption
 
 
Q