Arbitrary Disk Write Vulnerability in Diffoscope: CVE-2017-0359

diffoscope Updated 02 Oct 2025

Summary

13/04/2018
N/A
Yes i
Critical
9.8

CVE-2017-0359: diffoscope before 77 writes to arbitrary locations on disk based on the contents of an untrusted archive. Affects diffoscope versions < 77. Fixed in 77. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

Diffoscope is a powerful tool used for comparing files and directories, providing detailed insights into differences between them. It is widely utilized in software development and security auditing to ensure integrity and identify changes in files. However, prior to version 77, Diffoscope was found to have a critical vulnerability that allowed it to write to arbitrary locations on disk based on the contents of untrusted archives, posing significant risks to system security.

Vulnerability Detail

The vulnerability, identified as CVE-2017-0359, arises from Diffoscope's handling of untrusted archives. When processing these archives, the software could be manipulated to write data to unintended locations on the disk. This could lead to unauthorized data modification, potential data loss, or even system compromise. The vulnerability is particularly concerning as it allows attackers to exploit the software's functionality, leading to severe consequences for users who rely on Diffoscope for file comparison.

How To Fix

Minimum fixed version

77

This is the first release that contains the fix.

sudo apt-get install --only-upgrade diffoscope

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If upgrading is not immediately feasible, users can mitigate the risk by avoiding the use of untrusted archives with Diffoscope until the software is updated. Additionally, implementing strict file permissions and monitoring disk write operations can help reduce the potential impact of this vulnerability.

Conclusion

CVE-2017-0359 represents a significant security risk for users of Diffoscope prior to version 77. It is crucial for users to upgrade to the latest version to mitigate the risks associated with arbitrary disk writes from untrusted archives. Additionally, utilizing tools like Vulert can help in monitoring and managing vulnerabilities effectively.

See every vulnerability recorded for diffoscope →

Share this vulnerability

FAQ

CVE-2017-0359 is a vulnerability in Diffoscope that allows arbitrary disk writes based on untrusted archive contents.

Any version of Diffoscope prior to 77 is vulnerable. You can check your version by running 'diffoscope --version' in the terminal.

The risks include unauthorized data modification, potential data loss, and system compromise due to arbitrary disk writes.

Yes, you can use Vulert, which monitors and alerts for open-source vulnerabilities in your software using a manifest file like package-lock.json.

You can use the Vulert playground at Vulert Scanner to check if your application is affected without needing to sign up.

Related vulnerabilities

Recent vulnerabilities recorded for diffoscope.

How To Fix

Minimum fixed version

77

This is the first release that contains the fix.

sudo apt-get install --only-upgrade diffoscope

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback