CVE-2024-45004

KEYS: trusted: dcp: fix leak of blob encryption key

published September 4, 2024

CVSS
—
EPSS
0%
Percentile
0.9
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

KEYS: trusted: dcp: fix leak of blob encryption key

Trusted keys unseal the key blob on load, but keep the sealed payload in

the blob field so that every subsequent read (export) will simply

convert this field to hex and send it to userspace.

With DCP-based trusted keys, we decrypt the blob encryption key (BEK)

in the Kernel due hardware limitations and then decrypt the blob payload.

BEK decryption is done in-place which means that the trusted key blob

field is modified and it consequently holds the BEK in plain text.

Every subsequent read of that key thus send the plain text BEK instead

of the encrypted BEK to userspace.

This issue only occurs when importing a trusted DCP-based key and

then exporting it again. This should rarely happen as the common use cases

are to either create a new trusted key and export it, or import a key

blob and then just use it without exporting it again.

Fix this by performing BEK decryption and encryption in a dedicated

buffer. Further always wipe the plain text BEK buffer to prevent leaking

the key via uninitialized memory.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00102 · 0.9th percentile
Published
2024-09-04T19:54Z
EPSS history
Timeline
  • 04 SEP 19:54Z
    KEYS: trusted: dcp: fix leak of blob encryption key
    cvelistv5