Astonishingly, the private keys were 4, 56, 66, 115, 155, 156, 230, 237.
exploiting compromised certificates requires an active adversary-in-the-middle attack, meaning the attacker must act as a proxy between two TLS parties and receive encrypted traffic, decrypt it, reencrypt it, and send it to the other party. Such capabilities, in some cases, are usually limited to only the most well-resourced attackers. People with control of a local network—at a coffee shop, university, or other organization—face much less of a challenge.
https://emudhra.we-have-a-problem.com/




Warning, some oversimplifications ahead. Yes been warned.
First: It’s a certificate authority. It’s job is to issue the certificates needed for TLS (formerly SSL) to persons and companies so that you can use their services with an encrypted connection instead of plaintext.
Second: What exactly is the problem here? In the internet (or networking in general) your data passes a whole lot of “relays” before it reaches your destination. Everyone
mightwill snoop on this (see e.g. the Snowden leaks). So you have a desire: “Don’t talk unencrypted to random servers!”This now has two dimensions:
First: Don’t talk unencrypted to random servers.
Nowadays everything knows how to do this. You just start shouting random numbers at each other and then both know the same secret secret key although it was never mentioned. Then you use that key to encrypt the communication.
Second: Don’t talk unencrypted to random servers.
This one is harder. You resolved the server name to an IP and connected there. But… Was your connection intercepted? Were you told the correct IP? Who exactly are you talking with? This is where this incident gets scary: The server presents you a certificate (basically an id card, drivers license,…) telling you who it is. This certificate has been issued by a certificate authority (CA) that validated at least that this server belongs to the domain you’re trying to connect to (maybe more, e.g. the company running it,…). You do not trust this certificate alone, but your computer knows how to prove with some maths that it was really issued by a trusted CA it knows. If everything is alright, start the communication.
Scary: If one of those CA loses their key, anyone can issue certificates in their name. And everyone will trust those, as they seem genuine.
What that means is, that if I know their key (which has just been published), I can now intercept any traffic running through my machine, say that I’d be the server you want to talk to and now I can see everything. And all you’d see would be the padlock in the address bar telling you the connection is safe and trusted. And I can serve you anything. I could use that to just read everything and note your passwords or serve you a phishing site instead.
On a small scale, I would not be able to do much harm. I could set up an open WiFi at a cafe and get random people using that. But that’d be very localized and little effect. But since everyone can do this? Now every free wifi is potentially dangerous. You hack Starbucks and their customer wifi? Congratulations - you’re now doing this on a global scale! You hack an ISP? You can now fuck all their customers. Your a nation state actor? Well, have fun!
How can we defend against that?
Certificates can and will be revoked. They already are. In theory, everything is fine as no device with an up to date CA list will continue to trust those connections and will stop connecting. But it takes time to update all those lists. Your desktop running Windows, Mac or Linux? The update is probably already available. Your browser? Probably also already has the update available. But other devices? Your old EOL android tablet? The hand-me-down smartphones your kids got? Your smart home appliances that never got an update since you bought them 3 years ago?
Also there are more defenses - not everyone is using them, as they also may have some downsides:
DNSSEC - you can prove the IP is correct (assuming not this certificate was forged, too)
Certificate pinning - you can tell clients on their connections, that only this one specific certificate will be in use for the next days/weeks/months. Every forged certificate will then be declined (but also your new certificate because you had to unexpectedly renew it). Or at least say “All certificates for this server are issued only by Lets Encrypt. For every connection from now on: Don’t trust any other certificates even if they’re completely valid”
And a few more
Thank you for the explanation!
Ok, so random networks (free WiFi) are even more risky, but what about mobile data networks? And is my home WiFi at risk? Is this an “update my router/modem” situation?
Second, what applications are at risk? Browsers are obvious, but most apps connect to the internet in some way. Is my lemmy app at risk? The local transit app? What about side loaded apps?
Also, are there any reasonable options for those eol devices? Assuming apps can be updated, what’s the risk level for a device that’s not receiving official updates anymore? Are there options or are the SoL?
Sorry for the deluge of questions. This is just confusing and concerning, and most comments I’ve seen are just jokes or assume a higher base of knowledge than most people have. Thanks for taking the time to break it down a bit better.
*Also, how legit is this site everyone is saying to check browsers on? Feels pretty sketchy to have a random site verifying safety in the middle of a situation like this.
First of all - DON’T PANIC
If you’re not used to IT security, you always fall for the “Red Teaming” going on. Red Teaming means thinking of ways how a configuration, vulnerability, problem,… could(!) be used by the bad guys to proactively up your defenses. Or “guesstimate” how bad the situation will be. And you will always assume the worst case to be prepared. This usually always sounds and feels scarier than the reality is. Look back at my post and check if what I said contains ANY reference to how hard (or costly or time consuming) it’d probably be. Then add that nowadays many vulnerabilities are marketed for attention (or to also sell security products) - often with a fancy name, logo and website.
First of all: Nothing is risk free. You can just minimize the risks. And also many mitigations are a trade off between security and usability (or another dimension like affordability of new devices): Switch the device off, pull the plug and all connections to the external world and put it in a high security safe. Now you have an almost unhackable system - that you can’t use anymore. And I’d still be able to find a (more or less unlikely) scenario how that device can get hacked…
Security usually relies on the “Swiss Cheese Model”. Every security measure has holes like a slice of cheese. You can add more layers, but in the end there might still be some area uncovered by cheese. Here, we have several factors in play:
For this attack to succeed, I need to be in a position where I’m able to route ALL your traffic (that I’m interested in) through my box. The internet routes every package on an efficient way to the target, but theres no guarantee that all packets from the transmission take the same route. So it’s not the best idea to put that box on a random point along the route. I need the whole transmisson. And then use these leaked keys to sneakily wiretap you (or alter the contents of the transmission). The two ideal positions would be the router that connects the network to the internet or the WiFi access point that you connected to. But this vulnerability (alone) should NOT be able to hack your router. You’d still need a way to get this set up on a router. One could use that to intercept the query for available updates from your router and send it a forged one, but usually those updates are also signed cryptographically and you’d need the key from it’s vendor, too. And a specific software for your specific router. That’s probably way too much work. I could also hack a server that you connect to, but then I wouldn’t need those keys as I already control the server an can send you whatever I want (or read what you send me).
Also define “at risk”: If someone can intercept your traffic AND use this forged certificate - WHAT can they gain? To “hack” the app and from there the device itself, they need another exploit in the app and send that to you. If you’re logged in, they might be able to steal your credentials or your current session. But depending on the app - what is that worth? Your banking app probably features further security measures and is hopefully not affected. A transit app? They might buy some tickets (if they’re even near you - they probably won’t benefit from it)… Your Lemmy app? They might be able to use your credentials to access your account to send spam. But is that account worth something so that they can sell it or such?
Read: It depends on the app. And remember - it’s company/developer/server could in theory be hacked (without these leaked keys, mind you) which yould bring you into the same situation.
IMHO: Someone found it and reported it. This might have been a honest mistake by that CA. Someone might have found that before and (ab)used it. It might have been found / a ruse by a state actor/“three letter agency” to have an easy way to wiretap people secretly. You cannot tell. BUT: If it’s the latter - why would YOU specifically be targeted? And now that it’s known it won’t work anymore reliably - so it’s burned. Why use it in the future? Especially if people might notice it easily?
For older devices this might have blown a few holes in a slice of cheese (“am I talking to the correct server?”) and simplify other attacks a bit. But never forget: You cannot use this to access devices. You can only use that to tamper or wiretap with their network traffic if you’re in the right place to do so without someone noticing.
A security model that depends on every random IOT device receiving timely firmware updates for its entire lifetime is not designed for the world we actually live in.
To be fair, revocation lists are public and you could check those on every connection. Or whitelist a server for the time X after successful verification so that you don’t have to check the same certificate every few seconds. But… that’s on the software you run. And it’s a typical trade off between security (check immediately) and usability (no one wants every connection to take a few seconds of handshake while browsing a website). And you need to think of this part of the security model. Guess how much thinking goes into security for many apps?
To be fair - those devices aren’t necessarily hacked because of this. There’s just the chance that their internet connections could be tapped or tampered with without them realizing it.