KINETIC
Kinetic Labs · Tools & Research
Range / Station 02 · Diff Range

What ships is not always what was reviewed.

Release artifacts diverge from the source repository. That gap is where implants live. Diff Range measures source-to-artifact divergence: files present in a distributed release that never existed in version-controlled source, and files modified between the two. This station runs that diff on a real subject, surfaces the injected content, and characterizes the payload.

Subject
xz-utils v5.6.1
CVE
CVE-2024-3094
Method
Release tarball vs. git tag diff
Data status
Hybrid
Descend the range
01 / The thesis

The review process audits one thing. The build ships another.

Open-source software is released as tarballs, not as git repositories. The tarball passes through a build process that assembles generated files, autoconf outputs, and bundled assets before the package reaches downstream distributors. Every one of those steps is a surface for divergence. An attacker who controls the release process can inject content that never touched version control and that no code reviewer ever saw. The xz-utils backdoor is the canonical proof.

Source of truth
git tag v5.6.1
tukaani-project/xz
510 files · reviewer-visible
build process
Autoconf generated
configure, Makefile.in...
~252 generated files
normally benign
injection point
Distributed artifact
xz-5.6.1.tar.xz
~762 files
4 malicious divergences
02 / The method

Extract both trees. Enumerate every path. Compare every byte.

Diff Range takes two inputs: the git archive at the release tag, and the distributed release tarball. It extracts both to isolated directories, builds a complete file manifest for each, and runs three checks: files present in the tarball but absent from git; files present in git but absent from the tarball; and files present in both but with divergent content (by SHA-256). The output is a classified divergence set. Generated files are expected and flagged separately. Unexpected additions and unexpected modifications are the threat surface.

Data status: hybrid. The git archive for v5.6.1 was downloaded live from github.com/tukaani-project/xz on 2026-06-19. The release tarball (xz-5.6.1.tar.xz) was removed from official sources post-disclosure and could not be retrieved. The divergence below is reconstructed from the public record of CVE-2024-3094 (Andres Freund / oss-security, 2024-03-29; binarly.io analysis; Openwall advisory). Git-side SHA-256 values are real, computed live. Tarball-side sizes and hashes are from documented forensic analysis. This is labeled reconstruction, not fabrication.
03 / The finding

Four divergent files. Zero visible from git. One working backdoor.

The diff surfaces four files that diverge between the git tag and the release tarball. Two are injected additions not present in git at all. Two are existing binary test fixtures that were silently replaced with modified versions carrying payload fragments. A reviewer who audited the git repository would see none of the malicious content.

Path in release tarball
Classification
In git
Delta
0 malicious divergences  ·  0 bytes injected payload  ·  510 git files  ·  reviewer visibility: none
Binary payload containers: git vs. tarball byte counts
Git tag (clean) Release tarball (modified, payload embedded)
04 / The verdict

Detect the divergence. Then harden the pipeline.

The xz-utils backdoor remained undetected in production systems for weeks after the v5.6.1 tarball shipped. Andres Freund's discovery was incidental: he noticed SSH login latency and traced it to unusual CPU consumption in liblzma. The diff was never run. The divergence score for this release is total.

Divergence Score
0/4
Critical
4 / 4 malicious files undetected
0 / 4 visible in git review
payload active in distribution

The fix is to run the diff before the release ships.

Reproducible builds and release-artifact verification close this gap. A build is reproducible when the same source, compiler, and build environment always produce a bit-for-bit identical artifact. Any deviation is a signal. Projects that ship signed, reproducible tarballs allow downstream consumers to verify that nothing was injected between the git tag and the distributed file.

For projects that cannot achieve full reproducibility, a minimum control is explicit enumeration of expected divergences (generated files, bundled assets) and automated alerting on any file outside that allowlist. The diff Diff Range runs is the diff that should have been in the xz release pipeline.

Disclosure · Andres Freund, oss-security: backdoor in upstream xz/liblzma (2024-03-29)
Advisory · tukaani-project / xz-backdoor statement
CVE · CVE-2024-3094 · CVSS 10.0
Analysis · binarly.io: The XZ Backdoor Story
Detect it. Then solve it.

Diff Range is one instrument on the Kinetic Labs range. The diff that surfaces a supply-chain implant is the same diff that hardens a release pipeline. We run the measurement, score the divergence, and hand back the controls.