☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N 🐛 CWE-522
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-52493

CVE-2025-52493 Supply Chain Attack in Pagerduty
📅 PUBLISHED: 2025-12-10 00:00 UTC 🔄 UPDATED: 2026-08-21 19:31 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.05%
👁️
0.05% probability
1.1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1552.001
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 0.0
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: H Privileges Required High
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-52493 exposes a critical design flaw in PagerDuty Runbook (through 2025-06-12) where stored secrets, such as API keys and tokens, are embedded directly in the webpage DOM at the configuration page. Although the input fields are visually masked as password fields, the actual secret values are present in the page source and can be revealed by simply modifying the input field type from "password" to "text" using browser developer tools. This vulnerability is exploitable by any administrative user with access to the configuration page, leading to unauthorized credential disclosure.

⚡ 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

This vulnerability is not related to a specific package manager (NPM, PyPI, Go, Ruby) but affects the PagerDuty Runbook application itself. The risk is amplified if the application is deployed in a shared or multi-tenant environment where administrative access is not tightly controlled.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – The configuration page is accessible over the network.
  • Attack Complexity (AC): Low (L) – No special conditions required; standard browser tools suffice.
  • Privileges Required (PR): High (H) – Requires administrative access to the configuration page.
  • User Interaction (UI): None (N) – No user interaction needed beyond the attacker's own actions.
  • Scope (S): Unchanged (U) – The vulnerable component and the impacted component are the same.
  • Confidentiality (C): High (H) – Direct exposure of stored secrets.
  • Integrity (I): None (N) – No modification of data.
  • Availability (A): None (N) – No impact on availability.

CVSS Score: 4.9 (Medium) – The high privileges required reduce the severity, but the impact on confidentiality is significant.

Deep Dive & Mechanics

The vulnerability stems from the application's failure to properly separate presentation from sensitive data. When the configuration page is rendered, the server includes the actual secret values in the HTML, likely within <input type="password"> elements. The value attribute of these inputs contains the plaintext secret. While the browser masks the display, the DOM retains the raw value.

Root Cause: The application does not implement a secure pattern for handling secrets, such as:

  • Storing secrets server-side and never transmitting them to the client.
  • Using placeholder values (e.g., ********) in the DOM and only sending the actual secret when explicitly requested via a separate API call.
  • Encrypting secrets at rest and decrypting them only when needed, without exposing them in the client.

Attack Flow:

  1. Attacker gains administrative access to the PagerDuty Runbook web interface.
  2. Attacker navigates to the configuration page (e.g., /settings or /admin).
  3. Attacker opens browser developer tools (F12) and inspects the password input fields.
  4. Attacker changes the type attribute from password to text using the DOM inspector.
  5. The secret values become visible in plaintext.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

<!-- Server-side rendering includes actual secret in value attribute -->
<input type="password" name="api_key" value="sk-live-abc123def456" />

Patched Code (Conceptual):

<!-- Server-side rendering uses a placeholder; actual secret is never sent to client -->
<input type="password" name="api_key" value="********" />
<!-- Or better: use a separate API endpoint to update secrets without exposing them -->

The patched approach ensures that the actual secret is never transmitted to the client. Instead, a placeholder (e.g., ********) is used, and the secret is only updated via a POST request that does not echo the value back.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • Administrative credentials to the PagerDuty Runbook instance.
  • Access to a modern web browser with developer tools.

Steps:

  1. Log in as an admin user.
  2. Navigate to the configuration page (e.g., https://runbook.example.com/admin/settings).
  3. Open browser developer tools (F12) and switch to the "Elements" or "Inspector" tab.
  4. Locate the password input fields (e.g., <input type="password" ...>).
  5. Double-click the type="password" attribute and change it to type="text".
  6. The secret values will now be displayed in plaintext.

Automated Extraction (using JavaScript in browser console):

// Extract all password field values
var secrets = [];
document.querySelectorAll('input[type="password"]').forEach(function(input) {
    secrets.push({ name: input.name, value: input.value });
});
console.log(JSON.stringify(secrets));

Blue Team (Defense & Detection)

Detection:

  • Monitor for unusual access patterns to the configuration page (e.g., from non-admin IPs or at odd hours).
  • Log all changes to input field types via browser developer tools (though this is client-side and not directly observable server-side).
  • Implement Content Security Policy (CSP) headers to restrict inline scripts and reduce the risk of automated extraction.

Prevention:

  • Apply the patch as soon as it becomes available.
  • Implement server-side validation to never echo secrets in the DOM.
  • Use a secrets management solution (e.g., HashiCorp Vault) to inject secrets at runtime without exposing them in the UI.
  • Enforce strict access controls on the configuration page (e.g., multi-factor authentication, IP whitelisting).

Indicators of Compromise (IOCs)

  • Network: HTTP requests to /admin/settings or similar configuration endpoints from unexpected IPs.
  • Logs: Unusual patterns of page source retrieval (e.g., repeated curl or wget requests to the configuration page).
  • Client-side: Evidence of browser developer tools being used (e.g., console logs, DOM modifications) – though this is difficult to detect server-side.
  • File: No specific file-based IOCs.

Detection Engineering

YARA Rule

rule CVE_2025_52493_PagerDuty_Secrets_DOM {
    meta:
        description = "Detects PagerDuty Runbook configuration pages with exposed secrets in DOM"
        author = "Valters IT"
        date = "2025-06-12"
        reference = "CVE-2025-52493"
    strings:
        $secret_pattern = /<input[^>]*type=["']password["'][^>]*value=["'][^"']+["']/ nocase
    condition:
        $secret_pattern
}

Sigma Rule

title: PagerDuty Runbook Secret Exposure via DOM
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects access to PagerDuty Runbook configuration pages that may expose secrets in the DOM.
author: Valters IT
date: 2025-06-12
logsource:
    category: webserver
    product: apache
    service: http
detection:
    selection:
        cs-uri-query|contains:
            - "/admin/settings"
            - "/configuration"
            - "/runbook/config"
    condition: selection
falsepositives:
    - Legitimate administrative access
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-52493 - PagerDuty Runbook Secret Exposure"; flow:to_server,established; content:"/admin/settings"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Restrict Access: Limit access to the configuration page to only essential administrators. Use IP whitelisting and multi-factor authentication.
  2. Monitor Logs: Review web server logs for unusual access to configuration endpoints.
  3. Manual Workaround: If patching is not possible, consider using a reverse proxy to inject a Content Security Policy (CSP) that blocks inline scripts and restricts DOM manipulation, though this does not fully mitigate the issue.

Long-term Fix:

  • Apply the official patch from PagerDuty once released.
  • Redesign the configuration page to never transmit secrets to the client. Use a placeholder value (e.g., ********) and provide a separate mechanism to update secrets without exposing them.
  • Implement a secrets management solution that injects credentials at runtime without storing them in the DOM.

Valters IT Signature This report was generated by Valters IT Cyber Threat Intelligence. For further analysis, contact intelligence@valters.it.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"PagerDuty Runbook"
http.html:"runbook" "configuration"

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-52493/ · 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.