Description
The GitIdentifiers class in Apache Commons Codec did not reject NUL bytes in tree entry names. Because Git uses a NUL byte to mark the end of each entry name in a tree object, a crafted name could make one tree serialize to the same bytes as a different tree. Two different directory trees could then receive the same Git tree identifier or SWHID.



The impact is limited: common file systems do not allow NUL bytes in file names, so trees built by walking a file system are not affected. Only applications that build trees from names supplied by other sources, such as entries of archive formats that permit NUL bytes in names (e.g. ZIP) or names passed directly to the API, are exposed.



This issue affects Apache Commons Codec: from 1.22.0 before 1.23.0.



Users are recommended to upgrade to version 1.23.0, which fixes the issue.
Published: 2026-11-09
Score: n/a
EPSS: n/a
KEV: No
Impact: Git tree identifier collision
Action: Patch
AI Analysis

Impact

The GitIdentifiers class of Apache Commons Codec accepts NUL bytes in tree entry names. Because Git delineates tree entries with NUL bytes, a crafted name can cause two distinct directory trees to serialize to identical byte sequences, resulting in the same Git tree identifier or SWHID. The weakness is classified as CWE-158. This collision can lead to confusion or integrity problems in systems that rely on unique tree identifiers, but it does not provide arbitrary code execution or privilege escalation.

Affected Systems

Apache Commons Codec versions beginning with 1.22.0 and prior to 1.23.0 are vulnerable. The affected releases are distributed by the Apache Software Foundation.

Risk and Exploitability

The vulnerability has no CVSS score and EPSS is not available, indicating no quantified risk metric. It is not listed in CISA KEV, suggesting no known exploits. The likely attack vector is code that constructs tree objects from user‑supplied names, such as processing archive files that allow NUL bytes or application API calls that accept arbitrary names. An attacker would need to control the input names; the impact is limited to identifier collisions rather than remote code execution. The practical threat is primarily to systems that depend on accurate Git tree hashes for identification or integrity.

Generated by OpenCVE AI on November 9, 2026 at 22:13 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Apache Commons Codec to version 1.23.0 or later.
  • If your application builds trees from external data, explicitly reject or strip NUL bytes from input names before passing them to the API.
  • Avoid consuming untrusted archive formats that permit NUL bytes, or isolate such processing in a sandboxed environment.

Generated by OpenCVE AI on November 9, 2026 at 22:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 09 Nov 2026 20:15:00 +0000

Type Values Removed Values Added
Description The GitIdentifiers class in Apache Commons Codec did not reject NUL bytes in tree entry names. Because Git uses a NUL byte to mark the end of each entry name in a tree object, a crafted name could make one tree serialize to the same bytes as a different tree. Two different directory trees could then receive the same Git tree identifier or SWHID. The impact is limited: common file systems do not allow NUL bytes in file names, so trees built by walking a file system are not affected. Only applications that build trees from names supplied by other sources, such as entries of archive formats that permit NUL bytes in names (e.g. ZIP) or names passed directly to the API, are exposed. This issue affects Apache Commons Codec: from 1.22.0 before 1.23.0. Users are recommended to upgrade to version 1.23.0, which fixes the issue.
Title Apache Commons Codec: NUL bytes in tree entry names cause Git/SWHID identifier collisions (GitIdentifiers class)
Weaknesses CWE-158
References

Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-11-09T20:10:42.190Z

Reserved: 2026-11-06T20:45:11.690Z

Link: CVE-2026-124077

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-09T20:18:10.340

Modified: 2026-11-09T20:18:10.340

Link: CVE-2026-124077

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-09T22:15:15Z

Weaknesses
  • CWE-158

    Improper Neutralization of Null Byte or NUL Character