SSH Keys Generated on Debian/Ubuntu Compromised
A security warning posted on the Debian security list today warns that SSH keys generated on Debian based systems (including Ubuntu) have a highly predictable random number generator. This corroborates…
A security warning posted on the Debian security list today warns that SSH keys generated on Debian based systems (including Ubuntu) have a highly predictable random number generator. This corroborates what we’ve been seeing here at GitHub.
Luciano Bello discovered that the random number generator in Debian’s
openssl package is predictable. This is caused by an incorrect
Debian-specific change to the openssl package (CVE-2008-0166). As a
result, cryptographic key material may be guessable.This is a Debian-specific vulnerability which does not affect other
operating systems which are not based on Debian. However, other systems
can be indirectly affected if weak keys are imported into them.It is strongly recommended that all cryptographic key material which has
been generated by OpenSSL versions starting with 0.9.8c-1 on Debian
systems is recreated from scratch. Furthermore, all DSA keys ever used
on affected Debian systems for signing or authentication purposes should
be considered compromised; the Digital Signature Algorithm relies on a
secret random value used during signature generation.
We STRONGLY recommend that you discontinue use of any keys generated under this configuration and update your GitHub keys after you’ve patched your Debian based system.
Written by
Related posts
Year recap and future goals for the GitHub Innovation Graph
Discover the latest trends and insights on public software development activity on GitHub with data from the Innovation Graph through Q3 2025.
Help shape the future of open source in Europe
Read GitHub’s position on the European Open Digital Ecosystem Strategy and learn how to participate.
Build an agent into any app with the GitHub Copilot SDK
Now in technical preview, the GitHub Copilot SDK can plan, invoke tools, edit files, and run commands as a programmable layer you can use in any application.