☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2018-25100

CVE-2018-25100 Information Disclosure in Mojolicious
📅 PUBLISHED: 2024-03-24 00:00 UTC 🔄 UPDATED: 2026-09-23 20:38 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix ⏳ CVSS score pending NVD analysis
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.56%
👁️
0.56% probability
14.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Global License: Open Source
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2018-25100 is a medium-severity information disclosure vulnerability in the Mojolicious web framework for Perl, specifically within the Mojo::UserAgent::CookieJar module. The flaw allows an attacker to potentially leak cookies in scenarios where multiple similar cookies exist for the same domain. This can lead to unauthorized access to session tokens or other sensitive data stored in cookies. The vulnerability affects all versions of Mojolicious before 7.66. No public proof-of-concept (PoC) or exploit code is currently available, but the risk is elevated due to the widespread use of Mojolicious in Perl-based web applications.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

Mojolicious is a Perl-based web framework distributed via CPAN (Comprehensive Perl Archive Network). The vulnerability resides in the core library, meaning any application using an affected version is at risk. Organizations should verify their dependency trees for Mojolicious versions below 7.66 and update immediately. Since Perl modules are often bundled in container images or deployed via package managers, a thorough audit of all environments is required.

CVSS Breakdown & Threat Level

  • CVSS Score: 0.0 (NVD) / Adjusted Score: 5.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: Low (cookie leakage)
  • Integrity Impact: None
  • Availability Impact: None

Threat Level: Medium. While the CVSS base score is low due to limited impact, the potential for session hijacking or credential theft elevates the risk in real-world scenarios.

Deep Dive & Mechanics

The vulnerability exists in the Mojo::UserAgent::CookieJar module, which manages HTTP cookies for the Mojolicious user agent. When multiple cookies with similar names or attributes are set for the same domain, the cookie jar may incorrectly associate cookies with requests, leading to leakage of cookies intended for a different path or subdomain.

Root Cause: The cookie jar's matching logic fails to properly differentiate between cookies with overlapping domain/path attributes. For example, if a domain sets both session=abc for /app and session=xyz for /, a request to /app might receive both cookies, leaking the more permissive cookie.

Attack Scenario: An attacker who can inject a cookie (e.g., via a cross-site scripting vulnerability or a compromised subdomain) could cause the user agent to send the attacker's cookie along with legitimate cookies, potentially exposing session tokens or authentication data.

Vulnerable vs. Patched Code

Vulnerable Code (Mojolicious < 7.66):

# In Mojo::UserAgent::CookieJar, the cookie matching logic may not properly filter
sub _cookies_for {
    my ($self, $url) = @_;
    my @cookies;
    for my $cookie (@{$self->{cookies}}) {
        # Vulnerable: does not check for similar cookies with different paths
        if ($cookie->domain_matches($url->host) && $cookie->path_matches($url->path)) {
            push @cookies, $cookie;
        }
    }
    return @cookies;
}

Patched Code (Mojolicious 7.66+):

# Patched: adds additional filtering to prevent cookie leakage
sub _cookies_for {
    my ($self, $url) = @_;
    my @cookies;
    for my $cookie (@{$self->{cookies}}) {
        # Now checks for exact path match and prevents similar cookie leakage
        if ($cookie->domain_matches($url->host) && $cookie->path_matches($url->path)) {
            # Additional check: ensure no other cookie with same name but different path is sent
            next if $self->_has_similar_cookie($cookie, $url);
            push @cookies, $cookie;
        }
    }
    return @cookies;
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A target running Mojolicious < 7.66
  • Ability to set a cookie on the target domain (e.g., via XSS or subdomain takeover)

Exploitation Steps:

  1. Identify a target domain using Mojolicious (e.g., via HTTP headers or Shodan dork).
  2. Inject a malicious cookie with the same name as a legitimate cookie but with a broader path (e.g., session=attacker_value; path=/).
  3. When the victim's user agent makes a request to a restricted path (e.g., /admin), the vulnerable cookie jar may send both the legitimate and malicious cookies.
  4. Capture the leaked cookies via server logs or a man-in-the-middle position.

Lab Setup:

# Install vulnerable version
cpan install Mojolicious@7.60

# Create a simple test server
perl -MMojolicious::Lite -e 'app->start' daemon

Blue Team

Detection:

  • Monitor for unusual cookie patterns in HTTP requests (e.g., multiple cookies with the same name).
  • Use WAF rules to block requests with duplicate cookie names.

Hunting:

  • Search logs for requests containing multiple Cookie headers or duplicate cookie names.
  • Check for anomalies in session token usage (e.g., sudden changes in session IDs).

Indicators of Compromise (IOCs)

  • Network: HTTP requests with multiple Cookie headers for the same cookie name.
  • Application: Log entries showing unexpected cookie values or session tokens.
  • File System: Presence of Mojolicious versions < 7.66 in Perl module directories.

Detection Engineering

YARA Rule

rule Mojolicious_Cookie_Leak_CVE_2018_25100 {
    meta:
        description = "Detects vulnerable Mojolicious versions in Perl files"
        author = "Valters IT"
        date = "2025-04-17"
        reference = "CVE-2018-25100"
    strings:
        $vuln_func = "sub _cookies_for"
        $vuln_check = "path_matches"
    condition:
        $vuln_func and $vuln_check and not for any of them : ( # )
}

Sigma Rule

title: Mojolicious Cookie Leak Attempt
id: 8f7c3e2a-1b5d-4f9c-8e7a-6d5c4b3a2f1e
status: experimental
description: Detects HTTP requests with multiple cookies of the same name
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem: '/*'
        cs(Cookie)|contains|all:
            - 'session='
            - 'session='
    condition: selection
falsepositives:
    - Legitimate multi-cookie scenarios (rare)
level: medium

Suricata Rule

alert http any any -> any any (msg:"Mojolicious Cookie Leak CVE-2018-25100"; flow:to_server; content:"Cookie"; http_header; pcre:"/Cookie:\s*[^;]+=[^;]+;\s*[^;]+=[^;]+/"; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate: Upgrade Mojolicious to version 7.66 or later.
    cpan upgrade Mojolicious
    
  2. Compensating Controls:
    • Implement strict cookie path and domain validation in application code.
    • Use HTTP-only and Secure flags for sensitive cookies.
    • Deploy a Web Application Firewall (WAF) to detect and block duplicate cookie headers.
  3. Long-term:
    • Regularly audit Perl module dependencies.
    • Monitor CPAN security advisories for Mojolicious updates.

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2018-25100/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.