Two security flaws in the TPM 2.0 specs put cryptographic keys at risk

Alfonso Maruccia

Posts: 1,013   +301
Staff
Facepalm: The Trusted Platform Module (TPM) secure crypto-processor became a topic for public debate in 2021 when Microsoft forced TPM 2.0 adoption as a minimum requirement for installing Windows 11. The dedicated hardware controller should provide "extra hard" security to data and cryptographic algorithms, but the official specifications are bugged.

Security researchers recently discovered a couple of flaws in the Trusted Platform Module (TPM) 2.0 reference library specification, two dangerous buffer overflow vulnerabilities that could potentially impact billions of devices. Exploiting the flaws is only possible from an authenticated local account, but a piece of malware running on an affected device could do exactly that.

The two vulnerabilities are tracked as CVE-2023-1017 and CVE-2023-1018, or as "out-of-bounds write" and "out-of-bounds read" flaws. The issue was discovered within the TPM 2.0's Module Library, which allows writing (or reading) two "extra bytes" past the end of a TPM 2.0 command in the CryptParameterDecryption routine.

Also read: We Cannot Live Without Cryptography!

By writing specifically crafted malicious commands, an attacker could exploit the vulnerabilities to crash the TPM chip making it "unusable," execute arbitrary code within TPM's protected memory or read/access sensitive data stored in the (theoretically) isolated crypto-processor.

In other words, successful exploitation of the CVE-2023-1017 and CVE-2023-1018 flaws could compromise cryptographic keys, passwords and other critical data, making security features of modern, TPM-based operating systems like Windows 11 essentially useless or broken.

TPM provides a hardware number generator, secure generation and storage of cryptographic keys, remote attestation with a "nearly unforgeable" hash key summary of the hardware and software configuration, and other Trusted Computing functions. On Windows 11, the TPM can be used by DRM technology, Windows Defender, BitLocker full-disk encryption and more.

According to CERT Coordination Center at Carnegie Mellon University, a successful payload exploiting the vulnerabilities could run within the TPM and be essentially "undetectable" by security software or devices. The issue is resolved by installing the most recent firmware updates available for the user's device, but the process is easier said than done.

While the flaws could theoretically impact billions of motherboards and software products, just a few companies have confirmed that they are indeed affected by the issue thus far. Chinese company Lenovo, the world's largest PC manufacturer, acknowledged the issue in its Nuvoton line of TPM chips. An attacker could exploit the CVE-2023-1017 flaw to cause a denial of service issue in the Nuvoton NPCT65x TPM chip, Lenovo said.

Permalink to story.

 
This flaw only gives "locally authenticated attackers" the "possibility" to exploit a limited set of systems
----------------------------------------------------------------------------------------------------------------------------
Now, for 3 additional bonus points, answer this one
True or False?

Other than Infineon making a TPM module using an open source software stack, computer TPM chips are closed source

This allows the possibility for large scale exploitation from the usual suspects, who "ARE NOT" locally authenticated
 
Last edited:
Linux for desktop, no thanks, but I have 20+ years of Linux/Unix experience for servers...

Running Linux for actual work and gaming is like asking for trouble, pretty much zero focus from (most) soft and hardware companies
Right. You put up with Windows even with its security flaws, so why should TPM be treated any different especially this early in its life when we should expect there to be holes in anything that is designed to be secure? Whether it's PC's or physical locks or key fobs. They can all be "hacked", and we continue to use them.

You can't just eliminate everything that hackers could gain access to.
 
Right. You put up with Windows even with its security flaws, so why should TPM be treated any different especially this early in its life when we should expect there to be holes in anything that is designed to be secure? Whether it's PC's or physical locks or key fobs. They can all be "hacked", and we continue to use them.

You can't just eliminate everything that hackers could gain access to.
Windows is not really insecure if you know what you are doing, however, an OS with 90% plus marketshare will obviously have more people trying to **** it up

I am not talking about security tho, I am talking about user experience, which sucks on Linux, even the easiest distros are terrible and lacks native support for too much stuff most people use

I prefer to use Linux in CLI - I don't need desktop environments here

Too many scriptkiddies are using Linux without having a clue how to acually use Linux
 
Windows is not really insecure if you know what you are doing

Even if you know what you are doing, that depends on the version being used

"Genuine" copies of Windows are insecure by design

"Non-Genuine" copies of Windows, used by people such as Vladimir Putin and myself, can be secured
(if you know what you are doing)
 
Linux for desktop, no thanks, but I have 20+ years of Linux/Unix experience for servers...

Running Linux for actual work and gaming is like asking for trouble, pretty much zero focus from (most) soft and hardware companies
Gaming has gotten much better in the last 1-2 years, thanks to Valve, the Steam Deck, and Proton.

But, yes, I agree that Linux isn't quite ready to be a full Windows replacement, at least not yet. Things like document editing and graphic design suites still have a long way to go. Either Microsoft & Adobe need to add Linux support to their products (fat chance), or the FOSS community needs to get serious about their offerings (even fatter chance).

Linux is great for servers and software development, its fine if all you need is a web browser, and its becoming OK if you just want to game with it. But anything else, and its just not ready (and likely never will be)
 
The solution is obvious: Windows 12 will have the absolute requirement for a brand new TPM 3.0. Everything not on TPM 3.0 = obsolete. In fact, every new version of Windows from now on will also require new hardware on which to run. Simple. MS and its partners, ecstatic.

Of course you'll need the latest $500 platform anyway, so it can do it's Aey Eye thing
 
The solution is obvious: Windows 12 will have the absolute requirement for a brand new TPM 3.0. Everything not on TPM 3.0 = obsolete. In fact, every new version of Windows from now on will also require new hardware on which to run. Simple. MS and its partners, ecstatic.
And then someone will find a security hole in TPM 3.0 because it was rushed into service without adequate testing.
 
IMO, these kinds of errors these days are beyond crazy and beyond insane. Given the number of buffer overflow vulnerabilities throughout the history of computing, you would think that someone would have tested for this while they were developing the module. But, noooooooo, no one, apparently, tested for it, and here we are, yet again. Unconscionable, IMO.
 
And then someone will find a security hole in TPM 3.0 because it was rushed into service without adequate testing.

Even with adequate testing TPM 3.0 will be vulnerable

TPM 3.0 will be closed source and backdoored by design

There is currently a public attack on open source (in the media) because it is being targeted for exploits

This is a false narrative!

Open source lets you find who the guilty party is
Closed source harbors these fugitives from public outrage and justice

Fact checks Welcomed!
 
Last edited:
The solution is obvious: Windows 12 will have the absolute requirement for a brand new TPM 3.0. Everything not on TPM 3.0 = obsolete. In fact, every new version of Windows from now on will also require new hardware on which to run. Simple. MS and its partners, ecstatic.
What'd be the problem with that? You can stay on 10 and 11 just fine.
 
Back