We believe we've also observed this bug at Google on Debian 11. We
confirmed that packets are received by the kernel, but dhclient
doesn't catch them. The root cause appears to be a race condition, and
we provided some details in
https://gitlab.isc.org/isc-projects/dhcp/-/issues/264 to ISC, but we
understand dhclient is being deprecated.

The bug was also reported to Ubuntu at
https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1926139 and
there's a detailed discussion of the bug, reproduction cases, and
proposed fixes, the last of which was accepted into Ubuntu Jammy.

We built a test package with Ubuntu's fix applied to Debian 11 and
confirmed over the weekend (more than 100k runs) that it resolves the
issue.

Because of some risk that the fix could cause issues elsewhere, the
patch included an option to revert the change at runtime. I haven't
found evidence of anyone needing to use that option.

Oddly we also find that Debian 12 does not have this issue, even
though the later version of dhclient does not include any fix for
this. There must be some other reason why the race condition is not
hit there.

Reply via email to