Security Fix in Open BSD
code.bsd64.org
Security Fix in Open BSD
1–10 of 36 posts
Re: Security Fix in Open BSD
#2Re: Security Fix in Open BSD
#3Re: Security Fix in Open BSD
#4It inverts the sense of the test so that the authenticator of the packet is used even if the tag is null.
Re: Security Fix in Open BSD
#5Re: Security Fix in Open BSD
#6Fix is 8 years old.
I think the purpose of the link is to demonstrate some "suspicious" changes in the IPSEC code.
Re: Security Fix in Open BSD
#7The bug happened during a change that simultaneously refactored and added a feature to OpenBSD's ESP code; a comparison that should have been == was instead !=; the "if" statement with the bug was originally and correctly !=, but should have been flipped based on how the code was refactored.
HD Moore may as we speak be going through the pain of reconstituting a nearly decade-old version of OpenBSD to verify the bug, but stipulate that it was there, and here's what you get: IPSEC ESP packet authentication was disabled if you didn't have hardware IPSEC. There is probably an elaborate man-in-the-middle scenario in which this could get you traffic inspection, but it's nowhere nearly as straightforward as leaking key bits.
To entertain the conspiracy theory, you're still suggesting that the FBI not only introduced this bug, but also developed the technology required to MITM ESP sessions, bouncing them through some secret FBI-developed middlebox.
One year later, Jason Wright from NETSEC (the company at the heart of the [I think silly] allegations about OpenBSD IPSEC backdoors) fixed the bug.
It's interesting that the bug was fixed without an advisory (oh to be a fly on the wall on ICB that day; Theo had a, um, a, "way" with his dev team). On the other hand, we don't know what releases of OpenBSD actually had the bug right now.
It seems vanishingly unlikely that there could have been anything deliberate about this series of changes. You are unlikely to find anyone who will impugn Angelos. Meanwhile, the diffs tell exactly the opposite of the story that Greg Perry told.
Re: Security Fix in Open BSD
#8Looking only at that diff, the fix is a break. It inverts the sense of the test so that the authenticator of the packet is used even if the tag is null.
In this code, "mtag" is the tag matching PACKET_TAG_IPSEC_IN_CRYPTO_DONE, which the lower-level drivers use to tell the IPSEC code that the NIC already did verification. If the tag isn't there, then you want to do the verification in software, which is what the fixed code does and the broken code didn't do.
Re: Security Fix in Open BSD
#9I hope we are not going to get a rash of inarticulate HN submissions for every minor patch to openbsd which may have security implications.
I doubt this is in anyway related to the recent drama.
The initial bad patch which broke things looks like v1.63 of the file. This was committed in 2001 by angelos.
Note: - angelos has a greek email address (for what it is worth) - 1.63 was committed in 2001; the allegations of backdoors seem to be from 2000 and 1999 - it appears to break things for all non-ipsec aware nics. This seems to broad an error for an intentional backdoor
It also looks like the code didn't make it to a release branch before being fixed - so if it was an attempted backdoor, it was not successful.
Disclaimer: I have no experience with BSD kernel code nor with IPSEC.
Edit: I initially thought that angelos also commited the fix as well. I think I need to get my eyes tested
Re: Security Fix in Open BSD
#10Could someone explain the significance of this change? What would this enable or disable in practice?