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: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: hhorak, ingvar, jorton, luhliari
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
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:
Bug Depends On: 1513524    
Bug Blocks:    

Description Adam Mariš 2017-11-15 15:09:12 UTC
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:


External References:


Comment 1 Adam Mariš 2017-11-15 15:09:24 UTC

Name: the Varnish project

Comment 2 Adam Mariš 2017-11-15 15:09:43 UTC
Created varnish tracking bugs for this issue:

Affects: fedora-all [bug 1513524]