Every CVE Search/ Get API key

CVE-2024-29040

Fapi Verify Quote: Does not detect if quote was not generated by TPM

4.3 MediumFix available

This repository hosts source code implementing the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). The JSON Quote Info returned by Fapi_Quote has to be deserialized by Fapi_VerifyQuote to the TPM Structure TPMS_ATTEST. For the field TPM2_GENERATED magic of this structure any number can be used in the JSON structure. The verifier can receive a state which does not represent the actual, possibly malicious state of the device under test. The malicious device might get access to data it shouldn't, or can use services it shouldn't be able to. This issue has been patched in version 4.1.0.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
None

Exploit likelihood

0.33%Up 0.3 points since Jun 29, 2024
90%50%10%1%

What each source reports

CVE List Score used 4.3

Fapi Verify Quote: Does not detect if quote was not generated by TPM

This repository hosts source code implementing the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). The JSON Quote Info returned by Fapi_Quote has to be deserialized by Fapi_VerifyQuote to the TPM Structure TPMS_ATTEST. For the field TPM2_GENERATED magic of this structure any number can be used in the JSON structure. The verifier can receive a state which does not represent the actual, possibly malicious state of the device under test. The malicious device might get access to data it shouldn't, or can use services it shouldn't be able to. This issue has been patched in version 4.1.0.

Record
CVE-2024-29040
CVSS 3.1
4.3 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Weakness
CWE-502
Updated
2026-11-02
EUVDEUVD-2024-26089 4.3

This repository hosts source code implementing the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). The JSON Quote Info returned by Fapi_Quote has to be deserialized by Fapi_VerifyQuote to the TPM Structure TPMS_ATTEST. For the field TPM2_GENERATED magic of this structure any number can be used in the JSON structure. The verifier can receive a state which does not represent the actual, possibly malicious state of the device under test. The malicious device might get access to data it shouldn't, or can use services it shouldn't be able to. This issue has been patched in version 4.1.0.

Record
EUVD-2024-26089
CVSS 3.1
4.3 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Updated
2026-11-02
NVD 4.3

This repository hosts source code implementing the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). The JSON Quote Info returned by Fapi_Quote has to be deserialized by Fapi_VerifyQuote to the TPM Structure TPMS_ATTEST. For the field TPM2_GENERATED magic of this structure any number can be used in the JSON structure. The verifier can receive a state which does not represent the actual, possibly malicious state of the device under test. The malicious device might get access to data it shouldn't, or can use services it shouldn't be able to. This issue has been patched in version 4.1.0.

Record
CVE-2024-29040
CVSS 3.1
4.3 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Weakness
CWE-502
Updated
2026-11-02
OSVALPINE-CVE-2024-29040 4.3

This repository hosts source code implementing the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). The JSON Quote Info returned by Fapi_Quote has to be deserialized by Fapi_VerifyQuote to the TPM Structure TPMS_ATTEST. For the field TPM2_GENERATED magic of this structure any number can be used in the JSON structure. The verifier can receive a state which does not represent the actual, possibly malicious state of the device under test. The malicious device might get access to data it shouldn't, or can use services it shouldn't be able to. This issue has been patched in version 4.1.0.

Record
ALPINE-CVE-2024-29040
CVSS 3.1
4.3 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Updated
2026-11-03
OSVBELL-CVE-2024-29040 4.3
Record
BELL-CVE-2024-29040
CVSS 3.1
4.3 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Updated
2026-11-02
OSV 4.3

Fapi Verify Quote: Does not detect if quote was not generated by TPM

This repository hosts source code implementing the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). The JSON Quote Info returned by Fapi_Quote has to be deserialized by Fapi_VerifyQuote to the TPM Structure TPMS_ATTEST. For the field TPM2_GENERATED magic of this structure any number can be used in the JSON structure. The verifier can receive a state which does not represent the actual, possibly malicious state of the device under test. The malicious device might get access to data it shouldn't, or can use services it shouldn't be able to. This issue has been patched in version 4.1.0.

Record
CVE-2024-29040
CVSS 3.1
4.3 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Weakness
CWE-502
Updated
2026-11-02
Show 14 moreShow less
OSVDEBIAN-CVE-2024-29040 4.3

This repository hosts source code implementing the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). The JSON Quote Info returned by Fapi_Quote has to be deserialized by Fapi_VerifyQuote to the TPM Structure TPMS_ATTEST. For the field TPM2_GENERATED magic of this structure any number can be used in the JSON structure. The verifier can receive a state which does not represent the actual, possibly malicious state of the device under test. The malicious device might get access to data it shouldn't, or can use services it shouldn't be able to. This issue has been patched in version 4.1.0.

Record
DEBIAN-CVE-2024-29040
CVSS 3.1
4.3 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Updated
2026-11-02
OSVOESA-2024-1613 5.5

tpm2-tss security update

tpm2-tss is a software stack supporting Trusted Platform Module(TPM) 2.0 system APIs which provides TPM2.0 specified APIs for applications to access TPM module through kernel TPM drivers.

Security Fix(es):

A flaw was found in the tpm2-tss package, where it was not checked to see if the magic number in the attest is equal to the TPM2_GENERATED_VALUE. This flaw allows an attacker to generate arbitrary quote data, which may not be detected by Fapi_VerifyQuote.(CVE-2024-29040)

Record
OESA-2024-1613
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVOESA-2024-1637 5.5

tpm2-tss security update

tpm2-tss is a software stack supporting Trusted Platform Module(TPM) 2.0 system APIs which provides TPM2.0 specified APIs for applications to access TPM module through kernel TPM drivers.

Security Fix(es):

A flaw was found in the tpm2-tss package, where it was not checked to see if the magic number in the attest is equal to the TPM2_GENERATED_VALUE. This flaw allows an attacker to generate arbitrary quote data, which may not be detected by Fapi_VerifyQuote.(CVE-2024-29040)

Record
OESA-2024-1637
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVOESA-2024-1638 5.5

tpm2-tss security update

tpm2-tss is a software stack supporting Trusted Platform Module(TPM) 2.0 system APIs which provides TPM2.0 specified APIs for applications to access TPM module through kernel TPM drivers.

Security Fix(es):

A flaw was found in the tpm2-tss package, where it was not checked to see if the magic number in the attest is equal to the TPM2_GENERATED_VALUE. This flaw allows an attacker to generate arbitrary quote data, which may not be detected by Fapi_VerifyQuote.(CVE-2024-29040)

Record
OESA-2024-1638
CVSS 3.1
5.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2024-29040 4.3

This repository hosts source code implementing the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). The JSON Quote Info returned by Fapi_Quote has to be deserialized by Fapi_VerifyQuote to the TPM Structure TPMS_ATTEST. For the field TPM2_GENERATED magic of this structure any number can be used in the JSON structure. The verifier can receive a state which does not represent the actual, possibly malicious state of the device under test. The malicious device might get access to data it shouldn't, or can use services it shouldn't be able to. This issue has been patched in version 4.1.0.

Record
UBUNTU-CVE-2024-29040
CVSS 3.1
4.3 MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Updated
2026-11-02
OSVAZL-42978 No score

CVE-2024-29040 affecting package tpm2-tss for versions less than 4.0.2-1

This repository hosts source code implementing the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). The JSON Quote Info returned by Fapi_Quote has to be deserialized by Fapi_VerifyQuote to the TPM Structure TPMS_ATTEST. For the field TPM2_GENERATED magic of this structure any number can be used in the JSON structure. The verifier can receive a state which does not represent the actual, possibly malicious state of the device under test. The malicious device might get access to data it shouldn't, or can use services it shouldn't be able to. This issue has been patched in version 4.1.0.

Record
AZL-42978
Updated
2026-11-05
OSVAZL-42985 No score

CVE-2024-29040 affecting package tpm2-tss for versions less than 2.4.6-4

This repository hosts source code implementing the Trusted Computing Group's (TCG) TPM2 Software Stack (TSS). The JSON Quote Info returned by Fapi_Quote has to be deserialized by Fapi_VerifyQuote to the TPM Structure TPMS_ATTEST. For the field TPM2_GENERATED magic of this structure any number can be used in the JSON structure. The verifier can receive a state which does not represent the actual, possibly malicious state of the device under test. The malicious device might get access to data it shouldn't, or can use services it shouldn't be able to. This issue has been patched in version 4.1.0.

Record
AZL-42985
Updated
2026-11-02
OSVMGASA-2024-0171 No score

Updated tpm2-tss packages fix security vulnerabilities

A flaw was found in the tpm2-tss package, where there was no check that the magic number in the attest is equal to the TPM2_GENERATED_VALUE. This flaw allows an attacker to generate arbitrary quote data, which may not be detected by Fapi_VerifyQuote.

Record
MGASA-2024-0171
Updated
2026-11-02
OSVopenSUSE-SU-2024:13933-1 No score

libtss2-esys0-32bit-4.1.0-1.1 on GA media

These are all security issues fixed in the libtss2-esys0-32bit-4.1.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:13933-1
Updated
2026-11-02
OSVSUSE-SU-2024:1605-1 No score

Security update for tpm2-0-tss

This update for tpm2-0-tss fixes the following issues:

  • CVE-2024-29040: Fixed quote data validation by Fapi_VerifyQuote (bsc#1223690).
Record
SUSE-SU-2024:1605-1
Updated
2026-11-02
OSVSUSE-SU-2024:1635-1 No score

Security update for tpm2-0-tss

This update for tpm2-0-tss fixes the following issues:

  • CVE-2024-29040: Fixed quote data validation by Fapi_VerifyQuote (bsc#1223690).
Record
SUSE-SU-2024:1635-1
Updated
2026-11-02
OSVSUSE-SU-2024:1635-2 No score

Security update for tpm2-0-tss

This update for tpm2-0-tss fixes the following issues:

  • CVE-2024-29040: Fixed quote data validation by Fapi_VerifyQuote (bsc#1223690).
Record
SUSE-SU-2024:1635-2
Updated
2026-11-02
OSVSUSE-SU-2025:20151-1 No score

Security update for tpm2.0-tools, tpm2-0-tss

This update for tpm2.0-tools, tpm2-0-tss fixes the following issues:

tpm2-0-tss: Update to version 4.1:

  • Security

    • CVE-2024-29040: arbitrary quote data may go undetected by Fapi_VerifyQuote (bsc#1223690)
  • Fixed

    • fapi: Fix length check on FAPI auth callbacks
    • mu: Correct error message for errors
    • tss2-rc: fix unknown laer handler dropping bits.
    • fapi: Fix deviation from CEL specification (template_value was used instead of template_data).
    • fapi: Fix json syntax error in FAPI profiles which was ignored by json-c.
    • build: fix build fail after make clean.
    • mu: Fix unneeded size check in TPM2B unmarshaling.
    • fapi: Fix missing parameter encryption.
    • build: Fix failed build with --disable-vendor.
    • fapi: Fix flush of persistent handles.
    • fapi: Fix test provisioning with template with self generated certificate disabled.
    • fapi: Fix error in Fapi_GetInfo it TPM supports SHA3 hash algs.
    • fapi: Revert pcr extension for EV_NO_ACTION events.
    • fapi: Fix strange error messages if nv, ext, or policy path does not exits.
    • fapi: Fix segfault caused by wrong allocation of pcr policy.
    • esys: Fix leak in Esys_EvictControl for persistent handles.
    • tss2-tcti: tcti-libtpms: fix test failure on big-endian platform.
    • esys: Add reference counting for Esys_TR_FromTPMPublic.
    • esys: Fix HMAC error if session bind key has an auth value with a trailing 0.
    • fapi: fix usage of self signed certificates in TPM.
    • fapi: Usage of self signed certificates.
    • fapi: A segfault after the error handling of non existing keys.
    • fapi: Fix several leaks.
    • fapi: Fix error handling for policy execution.
    • fapi: Fix usage of persistent handles (should not be flushed)
    • fapi: Fix test provisioning with template (skip test without self generated certificate).
    • fapi: Fix pcr extension for EV_NO_ACTION
    • test: Fix fapi-key-create-policy-signed-keyedhash with P_ECC384 profile
    • tcti_spi_helper_transmit: ensure FIFO is accessed only after TPM reports commandReady bit is set
    • fapi: Fix read large system eventlog (> UINT16_MAX).
    • esys tests: Fix layer check for TPM2_RC_COMMAND_CODE (for /dev/tpmrm0)
    • test: unit: tcti-libtpms: fix test failed at 32-bit platforms.
    • fapi: Fix possible null pointer dereferencing in Fapi_List.
    • sys: Fix size check in Tss2_Sys_GetCapability.
    • esys: Fix leak in Esys_TR_FromTPMPublic.
    • esys: fix unchecked return value in esys crypto.
    • fapi: Fix wrong usage of local variable in provisioning.
    • fapi: Fix memset 0 in ifapi_json_TPMS_POLICYNV_deserialize.
    • fapi: Fix possible out of bound array access in IMA parser.
    • tcti device: Fix possible unmarshalling from uninitialized variable.
    • fapi: Fix error checking authorization of signing key.
    • fapi: Fix cleanup of policy sessions.
    • fapi: Eventlog H-CRTM events and different localities.
    • fapi: Fix missing synchronization of quote and eventlog.
    • faii: Fix invalid free in Fapi_Quote with empty eventlog.
  • Added

    • tcti: LetsTrust-TPM2Go TCTI module spi-ltt2go.
    • mbedtls: add sha512 hmac.
    • fapi: Enable usage of external keys for Fapi_Encrypt.
    • fapi: Support download of AMD certificates.
    • tcti: Add USB TPM (FTDI MPSSE USB to SPI bridge) TCTI module.
    • fapi: The recreation of primaries (except EK) in the owner hierarchy instead the endorsement hierarchy is fixed.
    • rc: New TPM return codes added.
    • fapi: Further Nuvoton certificates added.
    • tpm_types/esys: Add support for Attestable TPM changes in latest TPM spec.
    • tcti: Add '/dev/tcm0' to default conf
    • fapi: New Nuvoton certificates added.
    • esys: Fix leak in Esys_TR_FromTPMPublic.
  • Removed

    • Testing on Ubuntu 18.04 as it's near EOL (May 2023).

tpm2.0-tools: Update to version 5.7:

  • Security
    • CVE-2024-29038: arbitrary quote data may go undetected by tpm2_checkquote…
Record
SUSE-SU-2025:20151-1
Updated
2026-11-02
OSVUSN-6796-1 No score

tpm2-tss vulnerabilities

Fergus Dall discovered that TPM2 Software Stack did not properly handle layer arrays. An attacker could possibly use this issue to cause TPM2 Software Stack to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2023-22745)

Jurgen Repp and Andreas Fuchs discovered that TPM2 Software Stack did not validate the quote data after deserialization. An attacker could generate an arbitrary quote and cause TPM2 Software Stack to have unknown behavior. (CVE-2024-29040)

Record
USN-6796-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
tpm2-tss
Alpine:v3.19
before 4.0.2-r0
4.0.2-r0
tpm2-tss
Alpine:v3.20
before 4.1.1-r0
4.1.1-r0
tpm2-tss
Alpine:v3.21
before 4.1.1-r0
4.1.1-r0
tpm2-tss
Alpine:v3.22
before 4.1.1-r0
4.1.1-r0
tpm2-tss
Alpine:v3.23
before 4.1.1-r0
4.1.1-r0
tpm2-tss
Alpine:v3.24
before 4.1.1-r0
4.1.1-r0
tpm2-tss
Azure Linux:3
before 4.0.2-1
4.0.2-1
tpm2-tss
Azure Linux:2
before 2.4.6-4
2.4.6-4
tpm2-tss
Alpaquita:23
3.2.0-r0 up to 3.2.3-r0
3.2.3-r0
tpm2-tss
Alpaquita:stream
3.2.0-r0 up to 4.1.1-r0
4.1.1-r0
Show 23 moreShow less
Affected packages
PackageAffectedFixed
tpm2-tss
Debian:12
All versions, plus listed versions
3.2.1-33.2.1-3+loong644.0.1-14.0.1-24.0.1-3
Show 22 moreShow less
4.0.1-44.0.1-54.0.1-64.0.1-74.0.1-7.14.0.1-7.1~exp14.0.1-7.24.1.0-14.1.3-14.1.3-1.14.1.3-1.24.1.3-1.2+hurd.14.1.3-1.2+hurd.24.1.3-1.2+hurd.34.1.3-1.34.1.3-24.1.3-34.1.3-44.1.3-54.1.3-64.1.3-74.2.0-2
None known
tpm2-tss
Debian:13
before 4.1.0-1
4.1.0-1
tpm2-tss
Debian:14
before 4.1.0-1
4.1.0-1
tpm2-tss
Mageia:9
before 4.0.2-1.mga9
4.0.2-1.mga9
tpm2-tss
openEuler:20.03-LTS-SP1
before 3.0.3-3.oe1
3.0.3-3.oe1
tpm2-tss
openEuler:22.03-LTS
before 3.1.0-5.oe2203sp3
3.1.0-5.oe2203sp3
tpm2-tss
openEuler:22.03-LTS-SP2
before 3.1.0-5.oe2203sp2
3.1.0-5.oe2203sp2
tpm2-tss
openEuler:22.03-LTS-SP3
before 3.1.0-5.oe2203sp3
3.1.0-5.oe2203sp3
tpm2-tss
openEuler:20.03-LTS-SP4
before 3.0.3-3.oe2003sp4
3.0.3-3.oe2003sp4
tpm2-tss
openEuler:22.03-LTS-SP1
before 3.1.0-5.oe2203sp1
3.1.0-5.oe2203sp1
tpm2-0-tss
SUSE:Linux Enterprise Micro 5.3
before 3.1.0-150400.3.6.1
3.1.0-150400.3.6.1
tpm2-0-tss
SUSE:Linux Enterprise Micro 5.4
before 3.1.0-150400.3.6.1
3.1.0-150400.3.6.1
tpm2-0-tss
SUSE:Linux Enterprise Micro 5.5
before 3.1.0-150400.3.6.1
3.1.0-150400.3.6.1
tpm2-0-tss
SUSE:Linux Enterprise Module for Basesystem 15 SP5
before 3.1.0-150400.3.6.1
3.1.0-150400.3.6.1
tpm2-0-tss
openSUSE:Leap Micro 5.3
before 3.1.0-150400.3.6.1
3.1.0-150400.3.6.1
tpm2-0-tss
openSUSE:Leap Micro 5.4
before 3.1.0-150400.3.6.1
3.1.0-150400.3.6.1
tpm2-0-tss
openSUSE:Leap 15.5
before 3.1.0-150400.3.6.1
3.1.0-150400.3.6.1
efivar
SUSE:Linux Micro 6.0
before 38-3.1
38-3.1
tpm2-0-tss
SUSE:Linux Micro 6.0
before 4.1.0-1.1
4.1.0-1.1
tpm2.0-tools
SUSE:Linux Micro 6.0
before 5.7-1.1
5.7-1.1
tpm2-tss
Ubuntu:22.04:LTS
before 3.2.0-1ubuntu1.1, plus listed versions
3.0.3-2ubuntu13.0.3-2ubuntu23.1.0-3ubuntu13.2.0-0ubuntu23.2.0-1ubuntu1
3.2.0-1ubuntu1.1
tpm2-tss
Ubuntu:24.04:LTS
before 4.0.1-7.1ubuntu5.1, plus listed versions
4.0.1-3ubuntu14.0.1-6ubuntu14.0.1-7ubuntu14.0.1-7.1ubuntu44.0.1-7.1ubuntu5
4.0.1-7.1ubuntu5.1
tpm2-tss
Ubuntu:20.04:LTS
before 2.3.2-1ubuntu0.20.04.2, plus listed versions
2.1.0-42.3.1-32.3.2-12.3.2-1ubuntu0.20.04.1
2.3.2-1ubuntu0.20.04.2

History

History
RecordedChangedSources
factsOSV
affected, aliases, referencesOSV
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-29040 is a medium vulnerability (CVSS 4.3) in Tpm2 Software Stack Project Software Stack, published April 30, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.33%, the 26th percentile. Fixed in tpm2-tss 4.0.2-r0.

References

Show 24 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open