Every CVE Search/ Get API key

CVE-2019-10071

Timing attack on HMAC signature comparison in Apache Tapestry

9.8 CriticalFix available

The code which checks HMAC in form submissions used String.equals() for comparisons, which results in a timing side channel for the comparison of the HMAC signatures. This could lead to remote code execution if an attacker is able to determine the correct signature for their payload. The comparison should be done with a constant time algorithm instead.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

8.75%Up 1.0 points since Apr 14, 2021
90%50%10%1%

What each source reports

NVD Score used 9.8

The code which checks HMAC in form submissions used String.equals() for comparisons, which results in a timing side channel for the comparison of the HMAC signatures. This could lead to remote code execution if an attacker is able to determine the correct signature for their payload. The comparison should be done with a constant time algorithm instead.

Record
CVE-2019-10071
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
6.8 MediumAV:N/AC:M/Au:N/C:P/I:P/A:P
Weakness
CWE-203
Updated
2026-11-02
CVE List No score

The code which checks HMAC in form submissions used String.equals() for comparisons, which results in a timing side channel for the comparison of the HMAC signatures. This could lead to remote code execution if an attacker is able to determine the correct signature for their payload. The comparison should be done with a constant time algorithm instead.

Record
CVE-2019-10071
Updated
2026-11-02
EUVDEUVD-2019-0665 No score

The code which checks HMAC in form submissions used String.equals() for comparisons, which results in a timing side channel for the comparison of the HMAC signatures. This could lead to remote code execution if an attacker is able to determine the correct signature for their payload. The comparison should be done with a constant time algorithm instead.

Record
EUVD-2019-0665
Updated
2026-11-03
GitHub AdvisoriesGHSA-fgmr-vx7c-5wj6 9.8

Timing attack on HMAC signature comparison in Apache Tapestry

The code which checks HMAC in form submissions used String.equals() for comparisons, which results in a timing side channel for the comparison of the HMAC signatures. This could lead to remote code execution if an attacker is able to determine the correct signature for their payload. The comparison should be done with a constant time algorithm instead.

Record
GHSA-fgmr-vx7c-5wj6
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-203, CWE-697
Updated
2026-11-02
OSV 9.8

The code which checks HMAC in form submissions used String.equals() for comparisons, which results in a timing side channel for the comparison of the HMAC signatures. This could lead to remote code execution if an attacker is able to determine the correct signature for their payload. The comparison should be done with a constant time algorithm instead.

Record
CVE-2019-10071
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVGHSA-fgmr-vx7c-5wj6 9.8

Timing attack on HMAC signature comparison in Apache Tapestry

The code which checks HMAC in form submissions used String.equals() for comparisons, which results in a timing side channel for the comparison of the HMAC signatures. This could lead to remote code execution if an attacker is able to determine the correct signature for their payload. The comparison should be done with a constant time algorithm instead.

Record
GHSA-fgmr-vx7c-5wj6
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-203, CWE-697
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
org.apache.tapestry:tapestry-core
Maven
5.4 up to 5.4.5
5.4.5
org.apache.tapestry:tapestry-core
Maven
5.4 up to 5.4.5, plus listed versions
5.4.05.4.15.4.25.4.35.4.4
5.4.5

History

History
RecordedChangedSources
aliases, productsEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

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

In short

CVE-2019-10071 is a critical vulnerability (CVSS 9.8) in Apache Tapestry, published September 16, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 8.75%, the 95th percentile. Fixed in org.apache.tapestry:tapestry-core 5.4.5.

References

Show 6 moreShow less
MoveEnter Open