Bug 1513523 (CVE-2017-8807)
| Summary: | CVE-2017-8807 varnish: Data leak - ‘-sfile’ Stevedore transient objects | ||
|---|---|---|---|
| Product: | [Other] Security Response | Reporter: | Adam Mariš <amaris> |
| Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> |
| Status: | CLOSED NOTABUG | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | unspecified | CC: | hhorak, ingvar, jorton, luhliari |
| Target Milestone: | --- | Keywords: | Security |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | varnish 4.1.9, varnish 5.2.1 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-05-03 10:48:12 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1513524 | ||
| Bug Blocks: | |||
Acknowledgments: Name: the Varnish project Created varnish tracking bugs for this issue: Affects: fedora-all [bug 1513524] |
A wrong if statement in the varnishd source code means that synthetic objects in stevedores which over-allocate, may leak up to page size of data from a malloc(3) memory allocation. In a unpredictable percentage of the cases where this condition arises, a segmentation fault will happen instead. All the following conditions are required to trigger the problem: A -sfile or -spersistent stevedore must be configured A synthetic object must be created in vcl_backend_error{} The synthetic object ends up in the file or persistent stevedore. For the third condition can arise in two different ways: The stevedore named Transient is configured as -sfile or -spersistent (The default is -smalloc) The default stevedore is -sfile or -spersistent and the synthetic object is given a TTL larger than the shortlived parameter (default: 10 seconds.) Affected versions: 4.1.0 to 5.2.0 Upstream patch: https://github.com/varnishcache/varnish-cache/commit/176f8a075a External References: https://varnish-cache.org/security/VSV00002.html