Podcast
Root Causes 253: OpenSSL Vulnerability Explained


Hosted by
Tim Callan
Chief Compliance Officer
Jason Soroko
Fellow
Original broadcast date
November 4, 2022
Last week the OpenSSL project announced an upcoming critical patch, leading to a great deal of speculation about this flaw and its implications for SSL certificates. We explain what the flaw was, what you should do, and why certificates are unaffected.
Podcast Transcript
Lightly edited for flow and brevity.
So, November 1 rolled around, the patch was deployed and we all learned that the flaw, the vulnerability, was a buffer overflow vulnerability and so, what are the implications of that, Jay?
Sorry for the diatribe, Tim, I just want to get the thought out here to everybody just to make everybody understand why it was critical, listed as critical for a time and then went down to high and not critical. And the reason was because when the buffer overflow was first understood and discovered, the people that are part of this project had no means to be able to determine, hey, is a remote code execution possible here? Because they weren’t sure, they basically classified it as critical pending studies and then some really smart folks who understand these things said, hey, the four bytes of buffer overflow shift that are possible here taking a look at every single distribution of Linux and every single way to compile this code is there a way to make it possible for a remote code execution. It was determined, Tim, and that’s what was really just announced, is that the severity of the buffer overflow, the amount of bit shifts that were possible were not sufficient under any circumstance to be able to complete a remote code execution. With that study being done, that allowed the severity to be brought from critical down to high. So, that’s it in a nutshell, Tim.
I do want to say, I don’t know exactly what the podcast number is but we were talking about the Rust programming language and the fact that there are equivalents to OpenSSL written in the Rust language. And the reason for that is to avoid, for overflow errors. So, I gotta say, there was a recent statement and by statement I mean there was a tweet by Mark Russsinovich over at Microsoft. Well-known software engineer developer and very respected especially in Azure and a lot of his internal tools for that Microsoft stack and technologies and he basically said something that I never thought I would see but there it was in black and white and he said, for those of you who are coding in C, C++, you really have to ask yourself why you are using it. There has to be a very, very good reason and if you don’t have a good reason, you really should be looking at memory safe languages like Rust. And so the message was hyper clear. We are dealing with legacy languages and their problems that lead to buffer overflows and the current state of affairs which is you can now develop without too much fear or any fear of buffer overflow errors. So, we are gonna be living in this world for a while and as long as we have OpenSSL, we will be living probably with this. It may not even be the last buffer overflow we hear about, Tim.
In fact, it’s such a common issue that we barely report on it anymore and I gotta tell you that the ways that the white hats do their fuzzing, which is a way of trying to tease out finding buffer overflow errors, these guys just get better and better and better every single day and they’ve been doing it for 20 years plus. So, it won’t be the last time we hear of it; however, for those of you who are developing it and especially those of you who are developing in cryptography, check out the Rust language. It’ll help you to avoid this problem.

