cbcvebase.
CVE-2019-14322
published 2019-07-28

CVE-2019-14322: In Pallets Werkzeug before 0.15.5, SharedDataMiddleware mishandles drive names (such as C:) in Windows pathnames.

PriorityP266high7.5CVSS 3.1
AVNACLPRNUINSUCHINAN
EXPLOIT
EPSS
55.53%
98.9th percentile
In Pallets Werkzeug before 0.15.5, SharedDataMiddleware mishandles drive names (such as C:) in Windows pathnames.

Affected

3 ranges
VendorProductVersion rangeFixed in
debianpython-werkzeug
palletsprojectswerkzeug< 0.15.50.15.5
palletsprojectswerkzeug>= 0 < 0.15.50.15.5

Detection & IOCsextracted from sources · hover to see the quote

url/base_import/static/c:/windows/win.ini
url/web/static/c:/windows/win.ini
url/base/static/c:/windows/win.ini
pathc:/windows/win.ini
  • Detect exploitation attempts by matching HTTP GET requests to paths containing static resource endpoints followed by a Windows drive letter pattern (e.g., /static/c:/). The three known exploit endpoints are /base_import/static/c:/, /web/static/c:/, and /base/static/c:/.
  • A successful exploitation response body will contain all three strings: 'bit app support', 'fonts', and 'extensions' — characteristic content of a Windows win.ini file. Match all three with AND logic on HTTP 200 responses.
  • The exploit PoC checks for 'fonts' and 'files' and 'extensions' in the response body to confirm successful local file inclusion of win.ini.
  • The vulnerability is triggered via Python's os.path.join() mishandling of Windows drive names: a path segment with a drive name (e.g., C:) changes the drive of the final path, enabling path traversal outside the intended static directory.
  • ·This vulnerability only affects Werkzeug deployments running on Windows. The SharedDataMiddleware path traversal via drive letter is a Windows-specific behavior and is not exploitable on Linux/Unix systems.
  • ·The exploit endpoints tested (/base_import/static/, /web/static/, /base/static/) are specific to Odoo (formerly OpenERP) deployments using Werkzeug as the WSGI layer. Detection rules should be scoped accordingly.
  • ·The PoC uses verify=False (disabling TLS certificate verification) and a 5-second timeout, meaning exploit traffic may arrive over HTTPS with an invalid/self-signed certificate.

CVSS provenance

nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
nvdv2.05.0MEDIUMAV:N/AC:L/Au:N/C:P/I:N/A:N
vendor_debian7.5LOW
CVEs like this are exactly what “Exploited This Week” covers.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.