Workspace Buffer Overflow in Vinyl Cache .upper() and .lower() Methods Leading to Remote Denial of Service
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Vinyl-Cache | Vinyl Cache | unaffected |
|
||||||||||||
| Varnish-Software | Varnish Cache | unaffected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Varnish-software | Varnish Cache |
|
||||||||||||||||
| Vinyl-cache | Vinyl Cache |
|
Vendor Solution
Update to unaffected Version
Vendor Workaround
replace the .upper() and .lower() VCL type method calls by their respective vmod_std counterparts: std.toupper() and std.tolower().
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.358% probability within 30 days)
| Link | Providers |
|---|---|
| https://vinyl-cache.org/security/VSV00020.html |
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Varnish-software
Varnish-software varnish Cache Vinyl-cache Vinyl-cache vinyl Cache |
|
| Vendors & Products |
Varnish-software
Varnish-software varnish Cache Vinyl-cache Vinyl-cache vinyl Cache |
| Type | Values Removed | Values Added |
|---|---|---|
| Title | Workspace Buffer Overflow in Vinyl Cache .upper() and .lower() Methods Leading to Remote Denial of Service |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | In Vinyl Cache before 9.0,2, workspace buffer overflow vulnerability was found in the .upper() and .lower() string type methods of VCL. This can be used as a remote denial of service (DoS) vector to make the child process segfault or assert, and then restart. Effectively exploiting this vulnerability requires prior knowledge about the VCL in use and the ability to craft a request that contains a string that is long enough to fill the remaining workspace at the call site while staying under the different request size limits (http_req_size, http_req_hdr_len, etc.). | |
| Weaknesses | CWE-787 | |
| References |
| |
| Metrics |
cvssV4_0
|