CVE-2026-8612
WWW::Mechanize::Cached versions before 2.00 for Perl deserialize cached HTTP responses from a world-writable on-disk cache, enabling local response forgery and code execution
Description
WWW::Mechanize::Cached versions before 2.00 for Perl deserialize cached HTTP responses from a world-writable on-disk cache, enabling local response forgery and code execution. With no explicit cache backend, WWW::Mechanize::Cached constructs a default Cache::FileCache under /tmp/FileCache without overriding the backend's documented directory_umask of 000, so the cache root and its subdirectories are created mode 0777 with no sticky bit. Cache entries are named by sha1_hex of the request and read back through Storable::thaw on the next cache hit. A local attacker with write access to the cache tree can replace a victim's cache entry for a known URL with an arbitrary frozen HTTP::Response blob, causing the victim's next get() of that URL to return attacker controlled response bytes. Because the bytes are passed to Storable::thaw, a victim process that has loaded any class with a side-effectful STORABLE_thaw, DESTROY, or overload hook can be escalated to arbitrary code execution.
INFO
Published Date :
May 15, 2026, 2:16 a.m.
Last Modified :
May 18, 2026, 6:17 p.m.
Remotely Exploit :
No
Source :
9b29abf9-4ab0-4765-b253-1875cd9b441e
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS 3.1 | MEDIUM | 134c704f-9b21-4f2e-91b3-4a467353bcc0 |
Solution
- Upgrade WWW::Mechanize::Cached to version 2.00 or later.
- Ensure cache directories have appropriate restrictive permissions.
- Avoid using world-writable temporary directories for cache.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-8612.
| URL | Resource |
|---|---|
| https://github.com/libwww-perl/WWW-Mechanize-Cached/commit/b821647deeedf83490ebc1db91d959d942300ce0.patch | Patch |
| https://github.com/libwww-perl/WWW-Mechanize-Cached/pull/36 | Issue Tracking Patch |
| https://metacpan.org/release/OALDERS/WWW-Mechanize-Cached-2.00/changes | Release Notes |
| http://www.openwall.com/lists/oss-security/2026/05/15/1 | Mailing List Third Party Advisory |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-8612 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-8612
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-8612 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-8612 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
Initial Analysis by [email protected]
May. 18, 2026
Action Type Old Value New Value Added CPE Configuration OR *cpe:2.3:a:oalders:www::mechanize::cached:*:*:*:*:*:perl:*:* versions up to (excluding) 2.00 Added Reference Type CVE: http://www.openwall.com/lists/oss-security/2026/05/15/1 Types: Mailing List, Third Party Advisory Added Reference Type CPANSec: https://github.com/libwww-perl/WWW-Mechanize-Cached/commit/b821647deeedf83490ebc1db91d959d942300ce0.patch Types: Patch Added Reference Type CPANSec: https://github.com/libwww-perl/WWW-Mechanize-Cached/pull/36 Types: Issue Tracking, Patch Added Reference Type CPANSec: https://metacpan.org/release/OALDERS/WWW-Mechanize-Cached-2.00/changes Types: Release Notes -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
May. 15, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L -
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
May. 15, 2026
Action Type Old Value New Value Added Reference http://www.openwall.com/lists/oss-security/2026/05/15/1 -
New CVE Received by 9b29abf9-4ab0-4765-b253-1875cd9b441e
May. 15, 2026
Action Type Old Value New Value Added Description WWW::Mechanize::Cached versions before 2.00 for Perl deserialize cached HTTP responses from a world-writable on-disk cache, enabling local response forgery and code execution. With no explicit cache backend, WWW::Mechanize::Cached constructs a default Cache::FileCache under /tmp/FileCache without overriding the backend's documented directory_umask of 000, so the cache root and its subdirectories are created mode 0777 with no sticky bit. Cache entries are named by sha1_hex of the request and read back through Storable::thaw on the next cache hit. A local attacker with write access to the cache tree can replace a victim's cache entry for a known URL with an arbitrary frozen HTTP::Response blob, causing the victim's next get() of that URL to return attacker controlled response bytes. Because the bytes are passed to Storable::thaw, a victim process that has loaded any class with a side-effectful STORABLE_thaw, DESTROY, or overload hook can be escalated to arbitrary code execution. Added CWE CWE-502 Added CWE CWE-732 Added Reference https://github.com/libwww-perl/WWW-Mechanize-Cached/commit/b821647deeedf83490ebc1db91d959d942300ce0.patch Added Reference https://github.com/libwww-perl/WWW-Mechanize-Cached/pull/36 Added Reference https://metacpan.org/release/OALDERS/WWW-Mechanize-Cached-2.00/changes