Critical SSL/TLS Certificate Validation Flaw in libvirt
Summary
ALPINE-CVE-2017-1000256: libvirt version 2.3.0 and later is vulnerable to a bad default configuration of "verify-peer=no" passed to QEMU by libvirt resulting in a failure to validate SSL/TLS certificates by default. Affects libvirt versions < 2.5.0-r2. Fixed in 2.5.0-r2. How to fix ↓
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.
No signup required · Results in about 60 seconds
Background
libvirt is an open-source API, daemon, and management tool for managing platform virtualization. It provides a consistent way to manage virtual machines and their resources across different hypervisors. The package is widely used in cloud computing and virtualization environments. However, certain versions of libvirt are vulnerable to a misconfiguration that can lead to SSL/TLS certificate validation failures, potentially exposing systems to man-in-the-middle attacks.
Vulnerability Detail
The vulnerability arises from a default configuration in libvirt versions 2.3.0 and later, where the 'verify-peer' option is set to 'no' when interfacing with QEMU. This configuration prevents libvirt from validating SSL/TLS certificates, allowing attackers to intercept and manipulate communications without detection. The ramifications include unauthorized access to sensitive data and potential system compromise.
How To Fix
Minimum fixed version
2.5.0-r2
This is the first release that contains the fix.
sudo apk add --upgrade libvirt
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
As a temporary workaround, you can manually configure libvirt to enable certificate validation by setting 'verify-peer' to 'yes' in the configuration files. This can help mitigate the risk until the package is updated.
Conclusion
The libvirt package has a critical vulnerability due to improper SSL/TLS certificate validation settings. It is essential to update to the patched versions to mitigate risks associated with this flaw. Additionally, users can implement workarounds and utilize tools like Vulert for ongoing monitoring of vulnerabilities.
See every vulnerability recorded for libvirt →
FAQ
libvirt versions 2.3.0 and later are affected, with specific fixed versions being 2.5.0-r2 for Alpine v3.5 and 3.3.0-r2 for Alpine v3.6.
The vulnerability can lead to man-in-the-middle attacks, where an attacker can intercept and manipulate communications between the client and server, compromising sensitive data.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.
The CVSS score for this vulnerability is 8.1, indicating a high severity level.
Yes, Vulert can monitor and alert you in real-time for open-source vulnerabilities in your software using just a manifest file like package-lock.json.
References
Related vulnerabilities
Recent vulnerabilities recorded for libvirt.