Vulnerability DatabaseCVE-2014-125112

CVE-2014-125112: 
Linux Debian vulnerability analysis and mitigation

Overview

CVE-2014-125112 is a remote code execution vulnerability in Plack::Middleware::Session::Cookie for Perl, affecting versions through 0.21. The flaw allows unauthenticated attackers to execute arbitrary code on the server by exploiting unsafe deserialization of cookie data when no secret is configured to sign the cookie. The vulnerability was originally disclosed by the module author (MIYAGAWA) on August 11, 2014, with a CVE identifier formally assigned by CPANSec on July 8, 2025, and published to NVD on March 26, 2026. It carries a CVSS v3.1 base score of 9.8 (Critical) (Red Hat Advisory, OSS-Sec).

Technical details

The root cause is classified as CWE-565 (Reliance on Cookies without Validation and Integrity Checking), with an estimated secondary classification of CWE-502 (Deserialization of Untrusted Data). The middleware uses Perl's Storable module to serialize and deserialize session data stored in cookies; when no secret option is configured, the cookie is neither signed nor validated, allowing an attacker to craft a malicious serialized payload and submit it as a cookie. Because Storable can invoke DESTROY methods on arbitrary classes during deserialization, a carefully crafted binary payload can trigger arbitrary code execution on the server. The precondition for exploitation is that the application uses Plack::Middleware::Session::Cookie without setting the secret option (MIYAGAWA Gist, OSS-Sec).

Impact

Successful exploitation grants an unauthenticated remote attacker full arbitrary code execution on the server running the vulnerable Perl/Plack application, with no user interaction required. This can result in complete server compromise, including unauthorized access to sensitive data, modification or deletion of system files, installation of backdoors, and disruption of service. The network-accessible attack vector and lack of authentication requirements make this particularly severe for any internet-facing Plack application using unsigned session cookies (Red Hat Bugzilla, OSS-Sec).

Exploitability

No public proof-of-concept exploit code has been identified, and there is no evidence of active in-the-wild exploitation at this time (Red Hat Advisory). The EPSS score is approximately 0.016% (0.000160), indicating a currently low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported.

Exploitation steps

  1. Reconnaissance: Identify web applications built on the Perl Plack framework that use Plack::Middleware::Session::Cookie version 0.21 or earlier, particularly those that do not set a secret option (observable via cookie format — unsigned cookies lack an HMAC signature component).
  2. Craft malicious Storable payload: Using Perl's Storable module, craft a serialized binary payload that, upon deserialization, triggers a DESTROY method on an arbitrary class to execute attacker-controlled system commands.
  3. Inject payload via cookie: Submit an HTTP request to the target application with the malicious serialized binary set as the session cookie value (replacing the legitimate session cookie).
  4. Trigger deserialization: The server-side middleware deserializes the cookie without signature validation, causing the Storable module to process the attacker's payload and execute the embedded code as the web server process user.
  5. Achieve code execution: The attacker gains arbitrary command execution on the server, enabling reverse shell establishment, data exfiltration, or further lateral movement (MIYAGAWA Gist, OSS-Sec).

Indicators of compromise

  • Network: Unusual or malformed HTTP requests containing binary or non-printable data in session cookie values; outbound connections from the web server process to unexpected external IPs.
  • Logs: Web server access logs showing requests with oversized or binary-encoded cookie headers; application error logs referencing Storable deserialization errors or unexpected DESTROY method invocations.
  • Process: Unexpected child processes spawned by the Plack/Perl web server process (e.g., /bin/sh, curl, wget, nc); unusual process trees originating from the application server user account.
  • File System: New or modified files in the web application directory or system directories created by the web server process user; unexpected cron jobs or scheduled tasks added under the application account.

Mitigation and workarounds

The primary remediation is to upgrade Plack::Middleware::Session to version 0.23 or later (ideally 0.36 or later), which enforces the secret option at startup (OSS-Sec). Version 0.22 was released on August 11, 2014 as an interim fix that emits a warning when no secret is set, while version 0.23-TRIAL (and the stable 0.24 release on September 5, 2014) refuses to run without a secret configured. As an immediate workaround without upgrading, set the secret option in the middleware configuration to a strong, randomly generated private value; alternatively, replace the default Storable-based serializer with a safer custom serializer/deserializer (MIYAGAWA Gist).

Community reactions

The vulnerability was originally reported to the module author by security researcher mala (@bulkneets) in August 2014 and disclosed publicly via a GitHub Gist by MIYAGAWA. The formal CVE assignment and oss-security announcement in March 2026 (by Timothy Legge of CPANSec) brought renewed attention to the decade-old issue, highlighting the long gap between initial disclosure and formal CVE assignment as a concern for open-source ecosystem security tracking (MIYAGAWA Gist, OSS-Sec).

Additional resources


Source: This report was generated using AI

Related Linux Debian vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-115825NONEN/A
  • Linux Debian logoLinux Debian
  • libplack-perl
NoYesOct 25, 2026
CVE-2026-115824NONEN/A
  • Linux Debian logoLinux Debian
  • starman
NoNoOct 25, 2026
CVE-2026-115823NONEN/A
  • Linux Debian logoLinux Debian
  • starman
NoNoOct 25, 2026
CVE-2026-115822NONEN/A
  • Linux Debian logoLinux Debian
  • starman
NoNoOct 25, 2026
CVE-2026-115817NONEN/A
  • Linux Debian logoLinux Debian
  • starman
NoNoOct 25, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management