An issue was discovered in Varnish HTTP Cache 4.0.1 through 4.0.4, 4.1.0 through 4.1.7, 5.0.0, and 5.1.0 through 5.1.2. A wrong if statement in the varnishd source code means that particular invalid requests from the client can trigger an assert, related to an Integer Overflow. This causes the varnishd worker process to abort and restart, losing the cached contents in the process. An attacker can therefore crash the varnishd worker process on demand and effectively keep it from serving content - a Denial-of-Service attack. The specific source-code filename containing the incorrect statement varies across releases.
The product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
Link | Tags |
---|---|
https://www.varnish-cache.org/security/VSV00001.html#vsv00001 | vendor advisory |
https://lists.debian.org/debian-security-announce/2017/msg00186.html | third party advisory mailing list |
http://www.debian.org/security/2017/dsa-3924 | vendor advisory |
https://bugzilla.suse.com/show_bug.cgi?id=1051917 | third party advisory issue tracking |
https://bugzilla.redhat.com/show_bug.cgi?id=1477222 | third party advisory issue tracking |
https://github.com/varnishcache/varnish-cache/issues/2379 | third party advisory |