☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Umbraco logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 4.2 🐛 CWE-384
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-48929

CVE-2024-48929 Unauthorized Access in Umbraco
📅 PUBLISHED: 2024-10-22 15:54 UTC 🔄 UPDATED: 2026-09-23 20:36 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.25%
👁️
0.25% probability
6.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: Denmark License: Commercial
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
4.2
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-48929 is a session termination vulnerability in Umbraco, a free and open-source .NET content management system. The flaw resides in the explicit sign-out mechanism, where the server-side session is not fully terminated upon user logout. This allows an attacker with physical or network access to the user's machine to potentially reuse the stale session token, gaining unauthorized access to the authenticated session. The vulnerability affects Umbraco versions 13.x prior to 13.5.2 and 10.x prior to 10.8.7. The CVSS score is 4.2 (Medium), with a low attack complexity but requiring user interaction (the victim must sign out). No public proof-of-concept (PoC) or exploit code is currently available, and the EPSS score is 0.0%, indicating a very low probability of active exploitation in the wild. The primary risk is session hijacking in shared or public computer environments.

⚡ 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

Umbraco is distributed as a NuGet package for the .NET ecosystem. The vulnerability is not a supply chain compromise but a code-level flaw in the session management logic. Organizations using Umbraco should verify their installed version via the NuGet package manager and update to the patched versions. No malicious packages or dependencies have been identified in relation to this CVE.

CVSS Breakdown & Threat Level

  • CVSS Score: 4.2 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
  • Attack Vector (AV): Network – The attacker can exploit the vulnerability remotely.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): None – The attacker does not need prior authentication.
  • User Interaction (UI): Required – The victim must perform a sign-out action.
  • Scope (S): Unchanged – The vulnerability does not affect other components.
  • Confidentiality (C): Low – Limited information disclosure (session data).
  • Integrity (I): None – No data modification possible.
  • Availability (A): None – No denial of service.

Threat Level: Medium. The requirement for user interaction and the lack of public exploits reduce the immediate risk, but the vulnerability could be leveraged in targeted attacks against shared environments.

Deep Dive & Mechanics

The vulnerability stems from improper session invalidation in Umbraco's authentication middleware. When a user explicitly signs out, the application should:

  1. Clear the server-side session state.
  2. Invalidate the authentication cookie.
  3. Terminate the session token.

In affected versions, the server-side session object is not fully destroyed. The session ID remains valid in the server's session store, allowing an attacker who captures the session cookie (e.g., via network sniffing or physical access) to reuse it after the user has logged out. The attacker can then access the application with the victim's privileges until the session expires naturally.

The root cause is likely in the SignOutAsync method of the Umbraco authentication handler, where the session cleanup logic is incomplete. The patch in versions 13.5.2 and 10.8.7 ensures that the session is explicitly abandoned and the session ID is removed from the store.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

public async Task SignOutAsync(HttpContext context, AuthenticationProperties properties)
{
    // Incomplete session cleanup
    await context.SignOutAsync(IdentityConstants.ApplicationScheme);
    // Session is NOT cleared
}

Patched Code (Conceptual):

public async Task SignOutAsync(HttpContext context, AuthenticationProperties properties)
{
    await context.SignOutAsync(IdentityConstants.ApplicationScheme);
    // Explicitly clear the session
    await context.Session.ClearAsync();
    await context.Session.CommitAsync();
    // Abandon the session
    context.Session.Abandon();
}

The patched version ensures that the session data is cleared and the session is abandoned, preventing reuse of the session token.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A vulnerable Umbraco instance (version 13.x < 13.5.2 or 10.x < 10.8.7).
  • Ability to capture HTTP traffic (e.g., using a proxy like Burp Suite) or physical access to the victim's machine.

Exploitation Steps:

  1. Capture Session Cookie: Intercept the victim's HTTP traffic after they log in. The session cookie is typically named .AspNetCore.Session or UMB_SESSION.
  2. Wait for Sign-Out: The victim performs an explicit sign-out.
  3. Reuse Session Cookie: Use the captured cookie to make requests to the Umbraco application. The server will still recognize the session as valid.
  4. Access Protected Resources: Navigate to authenticated areas (e.g., /umbraco/) to gain unauthorized access.

Example cURL Command:

curl -X GET https://target-umbraco.com/umbraco/ \
  -H "Cookie: .AspNetCore.Session=captured-session-id"

Blue Team

Detection:

  • Monitor for session reuse after a sign-out event.
  • Look for multiple requests using the same session ID from different IP addresses.
  • Alert on access to /umbraco/ or other admin endpoints without a preceding login.

Mitigation:

  • Apply the patch immediately.
  • Implement additional session validation, such as checking the user agent or IP address.
  • Use short session timeouts and enforce re-authentication for sensitive actions.

Indicators of Compromise (IOCs)

  • Session Cookie Reuse: The same .AspNetCore.Session cookie value appearing in requests after a sign-out event.
  • Anomalous Access Patterns: Requests to /umbraco/ or other admin endpoints from IP addresses not associated with the original login.
  • Log Entries: Server logs showing session access after a logout event (e.g., SignOut followed by Session access).

Detection Engineering

YARA Rule

rule CVE_2024_48929_Session_Reuse {
    meta:
        description = "Detects session reuse attempts for CVE-2024-48929"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-48929"
    strings:
        $session_cookie = ".AspNetCore.Session"
        $umbraco_path = "/umbraco/"
    condition:
        $session_cookie and $umbraco_path
}

Sigma Rule

title: Umbraco Session Reuse After Sign-Out
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects potential exploitation of CVE-2024-48929 by monitoring session reuse after sign-out.
author: Valters IT
date: 2025-04-10
logsource:
    category: web
    product: umbraco
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem: '/umbraco/*'
        cs-cookie: '.AspNetCore.Session=*'
    condition: selection
falsepositives:
    - Legitimate session timeouts
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-48929 Umbraco Session Reuse Attempt"; flow:to_server; content:"/umbraco/"; http_uri; content:".AspNetCore.Session"; http_cookie; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade Umbraco: Update to version 13.5.2 or 10.8.7 via NuGet:
    dotnet add package Umbraco.Cms --version 13.5.2
    
  2. Restart Application: After upgrading, restart the application to ensure the patch is applied.

Compensating Controls:

  • Session Timeout: Reduce the session timeout to minimize the window of opportunity.
  • IP Binding: Bind sessions to the originating IP address (if feasible).
  • Multi-Factor Authentication (MFA): Require MFA for admin access to reduce the impact of session hijacking.
  • Web Application Firewall (WAF): Deploy WAF rules to block requests with reused session cookies after a logout event.

Long-Term Recommendations:

  • Conduct a security audit of session management in all .NET applications.
  • Implement automated dependency scanning to detect vulnerable packages.
  • Train developers on secure session handling practices.

Valters IT
DevSecOps & Cyber Threat Intelligence Expert

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-48929/ · 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.