Just When You Thought Y2K Was Done And Dusted ...

Remember what the whole Y2K issue was like, over a quarter-century ago? And all the work that had to be done to fix it? You’d think that lessons were learned, software developers would be wiser, and henceforth they would always use four digits for year numbers, so that a situation like that would not occur again. Guess again. Recently I hit a situation where a piece of software was *still* using just two digits for year numbers. Basically it was maintaining Certificate Revocation Lists (CRLs) for OpenVPN connections; these have an expiry date, in the form of the “nextupdate” field, to ensure that outdated lists are regularly replaced with fresh ones, to reduce the chance that anybody is inadvertently continuing to use compromised keys. The software in question is pfSense, from Netgate <https://forum.netgate.com/topic/172870/crl-has-expired>. The standard format for these CRLs can handle a full range of dates, but the internal system on pfSense for generating them can only handle years from 1950 to 2049. The generated CRLs were being given validity durations of 9999 days, which was fine up until about August this year, when the expiry date went past 2049, and wrapped around to 1950. On an incoming connection attempt, OpenSSL would check the CRL, find it invalid, and cause OpenVPN to drop the connection. The forum discussion above links to a patch to fix the issue. Only the patch doesn’t really make for a permanent fix: all it does is reduce the assigned validity duration from 9999 days to 730 days; the actual underlying software is still only working with 2-digit year numbers. This gives Netgate a few decades’ breathing room to come up with a proper fix.

On 25/10/2022 13.24, Lawrence D'Oliveiro wrote: ...
The forum discussion above links to a patch to fix the issue. Only the patch doesn’t really make for a permanent fix: all it does is reduce the assigned validity duration from 9999 days to 730 days; the actual underlying software is still only working with 2-digit year numbers. This gives Netgate a few decades’ breathing room to come up with a proper fix.
The social-patch of reducing look-ahead was a tactic utilised by more than a few organisations in the lead-up to Y2K, and necessary code-patches/upgrades/retirements. Underneath the covers, my suspicion was always that they had planned: first we'll finish xyz-project(s) and *then* we'll deal with Y2K amelioration. However, when project-xyz took longer than expected* they discovered that "time waits for no man"! * project over-runs never happen these days, so there's some 'learning' from last-century, you can chalk-up... (or maybe not?) That said, why are you talking about "the whole Y2K issue"? What issue? 'Everyone' knows that as the clock passed through midnight, nothing drastic happened - the world kept spinning, the wheels of commerce kept turning, no puppies were killed... What a non-event! It was all a big kerfuffle over nothing. (I'm told - was told by numbers of people) By such evaluation, the huge effort we put-in before-hand was either a total waste-of-time or waste-of-resources. YMMV. I come down on the side of protecting innocent puppies... -- Regards =dn
participants (2)
-
DL Neil
-
Lawrence D'Oliveiro