Platform
Windows
ProxyBridge Version
3.2.0
OS and Version
Windows 11
Documentation
Code Review
Describe the Bug
Hi,
I am reporting a reproducible BSOD issue that appears to be related to ProxyBridge’s bundled WinDivert driver.
While using ProxyBridge on Windows 11, my system crashed with a BSOD. This has happened more than once, and in previous troubleshooting we were able to trace the crash path back to the same WinDivert driver used by ProxyBridge. When ProxyBridge is not running, the system remains stable and I do not get these crashes. The crashes occur when ProxyBridge is active and handling/routing traffic.
ProxyBridge is installed here:
C:\Program Files\ProxyBridge\
The system crashed with:
KERNEL_SECURITY_CHECK_FAILURE (139)
WinDbg showed:
Arg1: 000000000000000e
FAST_FAIL_INVALID_REFERENCE_COUNT
The failure bucket was:
0x139_e_INVALID_REFERENCE_COUNT_NETIO!NetioDereferenceNetBufferListEx
The relevant stack trace was:
00 nt!KeBugCheckEx
01 nt!KiBugCheckDispatch+0x69
02 nt!KiFastFailDispatch+0xb2
03 nt!KiRaiseSecurityCheckFailure+0x368
04 NETIO!NetioDereferenceNetBufferListEx+0xf5
05 NETIO!NetioDereferenceNetBufferListChain+0x111
06 tcpip+0x462e9
After switching to the trap frame and checking the stack again, it still pointed to the same network path:
NETIO!NetioDereferenceNetBufferListEx+0xf5
NETIO!NetioDereferenceNetBufferListChain+0x111
tcpip+0x462e9
This suggests that a network buffer/reference count was corrupted before NETIO attempted to dereference it.
I then checked the loaded modules in the dump. Several network-related drivers were loaded, including:
NETIO.SYS
tcpip.sys
fwpkclnt.sys
wfplwfs.sys
WinDivert64.sys
WinDbg confirmed that WinDivert64.sys was loaded:
8: kd> lm m WinDivert*
start end module name
fffff80174700000 fffff8017471c000 WinDivert64 (deferred)
Then I checked the module details:
8: kd> lmvm WinDivert64
start end module name
fffff80174700000 fffff8017471c000 WinDivert64 (deferred)
Image path: WinDivert64.sys
Image name: WinDivert64.sys
Timestamp: Tue Sep 20 04:39:22 2022 (632912C2)
CheckSum: 0001D693
ImageSize: 0001C000
Mapping Form: Loaded
I then searched the system and confirmed that the loaded WinDivert64.sys belongs to ProxyBridge:
C:\Program Files\ProxyBridge\WinDivert64.sys
So the WinDivert driver active during the crash was ProxyBridge’s bundled driver.
This has been tested multiple times. When ProxyBridge is disabled or not running, the computer does not crash. When ProxyBridge is active and routing traffic, the system eventually crashes with the same type of network-stack BSOD. Based on that behavior, plus the dump analysis showing ProxyBridge’s bundled WinDivert64.sys loaded at the time of the crash, ProxyBridge/WinDivert appears to be the direct trigger.
The key points are:
- The BSOD happened in the Windows network stack.
- The bugcheck was KERNEL_SECURITY_CHECK_FAILURE (139).
- Arg1 was 0xe, meaning FAST_FAIL_INVALID_REFERENCE_COUNT.
- The failure happened in NETIO!NetioDereferenceNetBufferListEx.
- WinDivert64.sys was loaded in the crash dump.
- The loaded WinDivert64.sys came from C:\Program Files\ProxyBridge\WinDivert64.sys.
- The bundled WinDivert64.sys timestamp is from September 2022.
- The crash has happened multiple times while ProxyBridge was active.
- The system remains stable when ProxyBridge is not running.
This may indicate an issue with the bundled WinDivert version, or an incompatibility between ProxyBridge’s packet interception/routing logic and newer Windows 11 network stack behavior.
Failed to resolve hostname: localhost
SOCKS5 proxy: :0
Changing the proxy host from localhost to 127.0.0.1 fixed that issue and allowed ProxyBridge to initialize correctly without needing to manually click “Test Proxy Connection”.
Suggestions:
- Consider updating the bundled WinDivert driver to the latest stable version.
- Show the bundled WinDivert version in the UI or logs.
- Log the exact WinDivert driver path being loaded.
- Warn users if multiple WFP/network filtering drivers are detected.
- Handle localhost resolution more safely during startup, or normalize localhost to 127.0.0.1 for local proxy use.
- Add safer error handling or compatibility checks around WinDivert initialization and packet handling.
I can provide the minidump and additional WinDbg output if needed.
Additional Context
No response
Platform
Windows
ProxyBridge Version
3.2.0
OS and Version
Windows 11
Documentation
Code Review
Describe the Bug
Hi,
I am reporting a reproducible BSOD issue that appears to be related to ProxyBridge’s bundled WinDivert driver.
While using ProxyBridge on Windows 11, my system crashed with a BSOD. This has happened more than once, and in previous troubleshooting we were able to trace the crash path back to the same WinDivert driver used by ProxyBridge. When ProxyBridge is not running, the system remains stable and I do not get these crashes. The crashes occur when ProxyBridge is active and handling/routing traffic.
ProxyBridge is installed here:
C:\Program Files\ProxyBridge\
The system crashed with:
KERNEL_SECURITY_CHECK_FAILURE (139)
WinDbg showed:
Arg1: 000000000000000e
FAST_FAIL_INVALID_REFERENCE_COUNT
The failure bucket was:
0x139_e_INVALID_REFERENCE_COUNT_NETIO!NetioDereferenceNetBufferListEx
The relevant stack trace was:
00 nt!KeBugCheckEx
01 nt!KiBugCheckDispatch+0x69
02 nt!KiFastFailDispatch+0xb2
03 nt!KiRaiseSecurityCheckFailure+0x368
04 NETIO!NetioDereferenceNetBufferListEx+0xf5
05 NETIO!NetioDereferenceNetBufferListChain+0x111
06 tcpip+0x462e9
After switching to the trap frame and checking the stack again, it still pointed to the same network path:
NETIO!NetioDereferenceNetBufferListEx+0xf5
NETIO!NetioDereferenceNetBufferListChain+0x111
tcpip+0x462e9
This suggests that a network buffer/reference count was corrupted before NETIO attempted to dereference it.
I then checked the loaded modules in the dump. Several network-related drivers were loaded, including:
NETIO.SYS
tcpip.sys
fwpkclnt.sys
wfplwfs.sys
WinDivert64.sys
WinDbg confirmed that WinDivert64.sys was loaded:
8: kd> lm m WinDivert*
start end module name
fffff801
74700000 fffff8017471c000 WinDivert64 (deferred)Then I checked the module details:
8: kd> lmvm WinDivert64
start end module name
fffff801
74700000 fffff8017471c000 WinDivert64 (deferred)Image path: WinDivert64.sys
Image name: WinDivert64.sys
Timestamp: Tue Sep 20 04:39:22 2022 (632912C2)
CheckSum: 0001D693
ImageSize: 0001C000
Mapping Form: Loaded
I then searched the system and confirmed that the loaded WinDivert64.sys belongs to ProxyBridge:
C:\Program Files\ProxyBridge\WinDivert64.sys
So the WinDivert driver active during the crash was ProxyBridge’s bundled driver.
This has been tested multiple times. When ProxyBridge is disabled or not running, the computer does not crash. When ProxyBridge is active and routing traffic, the system eventually crashes with the same type of network-stack BSOD. Based on that behavior, plus the dump analysis showing ProxyBridge’s bundled WinDivert64.sys loaded at the time of the crash, ProxyBridge/WinDivert appears to be the direct trigger.
The key points are:
This may indicate an issue with the bundled WinDivert version, or an incompatibility between ProxyBridge’s packet interception/routing logic and newer Windows 11 network stack behavior.
Failed to resolve hostname: localhost
SOCKS5 proxy: :0
Changing the proxy host from localhost to 127.0.0.1 fixed that issue and allowed ProxyBridge to initialize correctly without needing to manually click “Test Proxy Connection”.
Suggestions:
I can provide the minidump and additional WinDbg output if needed.
Additional Context
No response