GHSA-p953-3j66-hg45

Suggest an improvement
Source
https://github.com/advisories/GHSA-p953-3j66-hg45
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/01/GHSA-p953-3j66-hg45/GHSA-p953-3j66-hg45.json
JSON Data
https://api.test.osv.dev/v1/vulns/GHSA-p953-3j66-hg45
Aliases
Related
Published
2025-01-28T09:32:34Z
Modified
2025-01-28T20:59:26.959624Z
Severity
  • 6.5 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N CVSS Calculator
Summary
Apache Hive vulnerable to Observable Timing Discrepancy and Authentication Bypass by Spoofing
Details

Use of Arrays.equals() in LlapSignerImpl in Apache Hive to compare message signatures allows attacker to forge a valid signature for an arbitrary message byte by byte. The attacker should be an authorized user of the product to perform this attack. Users are recommended to upgrade to version 4.0.0, which fixes this issue.

The problem occurs when an application doesn’t use a constant-time algorithm for validating a signature. The method Arrays.equals() returns false right away when it sees that one of the input’s bytes are different. It means that the comparison time depends on the contents of the arrays. This little thing may allow an attacker to forge a valid signature for an arbitrary message byte by byte. So it might allow malicious users to submit splits/work with selected signatures to LLAP without running as a privileged user, potentially leading to DDoS attack.

More details in the reference section.

Database specific
{
    "nvd_published_at": "2025-01-28T09:15:09Z",
    "cwe_ids": [
        "CWE-208",
        "CWE-290"
    ],
    "severity": "MODERATE",
    "github_reviewed": true,
    "github_reviewed_at": "2025-01-28T20:40:21Z"
}
References

Affected packages

Maven / org.apache.hive:hive-llap-common

Package

Name
org.apache.hive:hive-llap-common
View open source insights on deps.dev
Purl
pkg:maven/org.apache.hive/hive-llap-common

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
4.0.0

Affected versions

2.*

2.0.0
2.0.1
2.1.0
2.1.1
2.2.0
2.3.0
2.3.1
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
2.3.8
2.3.9
2.3.10

3.*

3.0.0
3.1.0
3.1.1
3.1.2
3.1.3

4.*

4.0.0-alpha-1
4.0.0-alpha-2
4.0.0-beta-1