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

CVE-2026-67921

CVE-2026-67921 Cross-Site Request Forgery in Halo
📅 PUBLISHED: 2026-08-18 00:00 UTC 🔄 UPDATED: 2026-09-23 19:42 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.20%
👁️
0.20% probability
5.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 9.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: H Confidentiality High
I: H Integrity High
A: N Availability None
9.3
THREAT LEVEL
INTEL SOURCES NVD EPSS HOW WE SCORE →
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-67921 is a Cross-Site Request Forgery (CSRF) vulnerability affecting Halo CMS versions up to and including 2.25.4. The flaw resides within the CorsConfigurer.java and CsrfConfigurer.java components, allowing a remote attacker to execute arbitrary code on the target server. As of this writing, no official patch exists (patch confidence 0/4), and no public exploit or proof-of-concept has been identified. Given the ability to achieve remote code execution through a CSRF flaw, this vulnerability represents a critical risk for any organization running Halo CMS 2.25.4 or earlier in an exposed environment.

⚡ 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

Technical Analysis

The NVD description identifies CVE-2026-67921 as a Cross-Site Request Forgery (CSRF) vulnerability in Halo CMS versions up to 2.25.4, specifically affecting the CorsConfigurer.java and CsrfConfigurer.java components. The inclusion of these two specific Java classes in the vulnerability description indicates that the flaw lies within the CMS's Cross-Origin Resource Sharing (CORS) configuration logic and its CSRF protection mechanisms.

Vulnerability Mechanism (Class-Level): CSRF attacks exploit the trust that a web application holds for an authenticated user's browser. The attack forces an authenticated user's browser to send a crafted HTTP request — including cookies, session tokens, and other authentication credentials — to a target application, thereby performing state-changing operations without the user's knowledge or consent.

In this specific scenario, the presence of both CorsConfigurer.java and CsrfConfigurer.java suggests one of two likely configurations:

  1. CSRF Token Validation Bypass: The CSRF protection middleware (CsrfConfigurer.java) may be incorrectly configured to skip token validation for certain HTTP methods (e.g., GET requests with side effects, or cross-origin requests that pass CORS checks). This would allow an attacker to craft a malicious page that triggers state-changing requests without a valid CSRF token.

  2. CORS-Enabled CSRF: The CORS configuration (CorsConfigurer.java) may be permissive (e.g., reflecting arbitrary Origin headers or allowing credentials across all origins). This permissive CORS policy, when combined with weak CSRF protections, could allow a remote attacker to execute cross-origin requests that carry the victim's authentication cookies.

Attack Surface:

  • Admin Panel: Halo CMS administrative interfaces are prime targets, as they expose content management, plugin installation, and system configuration functions. A successful CSRF attack against an authenticated administrator could allow an attacker to alter CMS configuration, upload malicious plugins, or inject malicious content.
  • User-Facing Endpoints: Any state-changing operations available to authenticated regular users could also be exploited.
  • The "execute arbitrary code" impact suggests that the CSRF chain can reach a high-privilege endpoint that permits file upload, template modification, or plugin installation — all of which are common in CMS architectures.

Code-Level Considerations: Without more granular detail in the NVD description, precise code-level exploitation steps cannot be derived. However, the Java-based nature of the CORS and CSRF configuration classes indicates that Halo CMS implements Spring Security (or a similar framework) for request filtering and CSRF token management. Misconfigurations in such Java configuration classes are commonly exploited through:

  • Failure to validate the Origin header or Referer header for state-changing requests.
  • CSRF token generation that uses predictable randomness or weak session binding.
  • Exemptions for certain URL patterns (e.g., /api/**, /actuator/**) from CSRF token verification.

Note: Insufficient technical detail is available in the NVD description to confirm the exact code path. The above is inferred from the vulnerability class and the named Java components.

Exploitation Scenarios

Attack Chain (Inferred from Vulnerability Class):

  1. Reconnaissance/Target Identification:

    • Attackers would first identify publicly accessible Halo CMS instances running version 2.25.4 or earlier. This can be accomplished via Shodan/Censys searches using favicon hashes associated with Halo CMS, HTTP title banners, or version disclosure in the HTML source or /robots.txt.
    • Threat actors would then validate whether the instance has an accessible login page (/admin or similar) and whether any authenticated users are active.
  2. Triggering the CSRF Flaw:

    • The attacker creates a malicious webpage (or embeds a payload within a legitimate-looking site) that automatically fires HTTP requests to the target Halo CMS instance. These requests would target state-changing endpoints (e.g., user profile modification, content publishing, plugin upload, or settings changes).
    • Because the CSRF protection is bypassed (per the vulnerability), the browser will automatically include the victim's authentication cookies (assuming no SameSite cookie restrictions, or the attack leverages GET requests that are exempted from CSRF checks).
    • A permissive CORS configuration would further ease this, as the attacker could read responses (e.g., to enumerate valid endpoints or CSRF tokens) via cross-origin fetch requests with credentials.
  3. Payload/Execution Method:

    • At the vulnerability-class level, the attacker crafts a CSRF request targeting an endpoint that allows arbitrary file upload or plugin installation. In many CMS platforms, plugin upload is a common admin function.
    • The malicious upload would consist of a weaponized JSP/Java archive (or a theme template with embedded server-side code). Upon installation or activation, this payload executes arbitrary code on the server with the privileges of the Halo CMS application process.
  4. Post-Exploitation Impact:

    • Once arbitrary code execution is achieved, the attacker gains full control over the Halo CMS instance, including the underlying web server user account.
    • The attacker could then: exfiltrate the CMS database (including user password hashes), pivot to other hosts on the internal network, deploy web shells for persistent access, or abuse the server for cryptocurrency mining or as a bot in DDoS campaigns.

Note: No public PoC is available for this CVE; attack chain is inferred from the vulnerability class and standard CSRF-to-RCE techniques in Java-based CMS platforms.

Impact Assessment

Severity Ranking: Critical (logic-based, despite no CVSS score being available — the impact of remote code execution elevates the risk profile).

Business Impact:

  • Integrity: Complete loss — an attacker can alter site content, inject malicious scripts into served pages (driving client-side infections), or deface public-facing websites.
  • Confidentiality: Database compromise leads to disclosure of user credentials, personal information of registered users, and potentially sensitive internal documents published via the CMS.
  • Availability: An attacker with code execution can render the CMS inoperable, delete content, or leverage the server as a launchpad for further network intrusions.

Affected Systems:

  • All Halo CMS deployments running version 2.25.4 or earlier (per NVD: "up to 2.25.4").
  • The risk is amplified when the CMS is:
    • Used in production with highly privileged admin accounts active.
    • Exposed directly to the internet without a WAF.
    • Integrated with internal authentication systems (LDAP/SSO) that extend the blast radius.

Blast Radius:

  • If the web server user has sufficient privileges, an attacker could traverse to other applications hosted on the same server or access network shares, leading to lateral movement within the organization's infrastructure.
  • The CMS database typically contains email addresses, usernames, and password hashes that could be leveraged for credential-stuffing attacks against other corporate services.

CVSS Reference: N/A — no CVSS score has been assigned. Early analysis suggests a base score of 8.0 or higher if this permits direct RCE via a single CSRF request (requiring user interaction but no privileges beyond a valid session).

Detection Guidance

The following detection rules are designed to identify both the malicious CSRF payload delivery (web requests) and the post-exploitation indicators (unusual file uploads and web shell behavior). Given the absence of a public PoC, these rules target the vulnerability class generically.

Sigma Rule

title: Suspicious CSRF POST Request to Halo CMS Admin Endpoints
id: 89a4f6c2-3d19-4b78-9e31-7b5d95b0f511
status: experimental
description: Detects cross-origin POST requests targeting Halo CMS administrative endpoints without a valid CSRF token or Origin/Referer validation.
logsource:
  category: webserver
  product: apache
  service: accesslog
detection:
  selection:
    cs-method: 'POST'
    cs-uri-extension:
      - '/admin/*'
      - '/api/*'
  filter_benign:
    cs-referer:
      - 'https://halo.example.com/*'
  condition: selection and not filter_benign
level: high
falsepositives:
  - Legitimate third-party integrations that make unauthenticated API calls
  - Misconfigured portals that fail to set proper Referer headers
  - Browser extensions/privacy tools that strip Referer values
tags:
  - attack.t1190
  - attack.initial-access
  - cve.2026-67921

YARA Rule

rule Halo_CSRF_Exploit_Attempt_CVE_2026_67921
{
    meta:
        author = "Valter Security Research"
        date = "2026-05-01"
        description = "Detects HTML payloads designed to trigger CSRF against Halo CMS instances"
        cve = "CVE-2026-67921"
        severity = "high"

    strings:
        $s1 = "action=\"/admin" ascii wide nocase
        $s2 = "action=\"/api" ascii wide nocase
        $s3 = "XMLHttpRequest" ascii wide
        $s4 = "withCredentials" ascii wide
        $s5 = "halo" ascii wide nocase
        $s6 = "multipart/form-data" ascii wide
        $s7 = "csrftoken" ascii wide nocase
        $s8 = ".jar" ascii wide

    condition:
        (uint16(0) == 0x3C3C) and (2 of ($s1, $s2)) and 1 of ($s3, $s4) and 1 of ($s6, $s7) and (1 of ($s5, $s8))
}

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"ET EXPLOIT Halo CMS CSRF to RCE Attempt (CVE-2026-67921)"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/admin"; nocase; http.uri; content:"upload"; nocase; http.accept_encoding; content:"!"; http.host; content:"!halo"; distance:0; content:"Origin:"; http.header; content:"http"; http.header; content:"!"; startswith; detection_filter:track by_src, count 5, seconds 60; classtype:attempted-admin; sid:202667921; rev:1;)

Note: The above rule detects high-volume POST requests to /admin/upload paths with mismatched Origin headers, which is consistent with CSRF attack patterns. Tune the path to match your Halo CMS deployment.

Elastic Detection

sequence by host.name with maxspan=15m
  [network where direction : "ingress" and destination.port == 443 and
   process.name : "java" and event.type == "start"]
  [file where event.action == "write" and
   file.extension : ("jsp", "jar", "war") and
   file.path : "*/upload/*"]
  [process where event.action == "exec" and
   process.parent.name : "java" and
   process.args : ("*Runtime*", "*ProcessBuilder*", "*exec*")]

Splunk SPL Query

index=web earliest=-15m
| where match(_raw, "(?i)(method=POST.*/admin/upload)")
| eval hasCorsOrigin = if(match(Origin, "^https?://(?!.*halo).*"), "cross-origin", "same-origin")
| stats count by src_ip, cs_uri_stem, hasCorsOrigin, user_agent
| where hasCorsOrigin="cross-origin" OR count > 10
| table _time, src_ip, cs_uri_stem, hasCorsOrigin, user_agent, count
| sort - _time

Wazuh OSSEC Rule

<group name="syslog,halo_cms,">
  <rule id="100217" level="12">
    <if_sid>100216</if_sid>
    <match>POST /admin</match>
    <match>Origin:</match>
    <regex>Origin: (?!https?://(.*)?halo)</regex>
    <description>CVE-2026-67921: Cross-origin POST request to Halo CMS admin endpoint detected - potential CSRF to RCE attempt</description>
    <mitre>
      <id>T1190</id>
    </mitre>
    <group>attack.initial-access,</group>
    <options>no_full_log</options>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Status: UNPATCHED — No vendor patch, security update, or advisory has been identified for CVE-2026-67921 as of the date of this report. Patch confidence is 0/4. Organizations must rely on compensating controls.

1) Immediate Mitigations (Do This Now)

  • Restrict Network Exposure: Place Halo CMS instances behind a reverse proxy or VPN. Block direct internet access to the admin login page (/admin) unless absolutely required.
  • Enforce SameSite Cookie Attribute: Configure the Halo CMS session management to set SameSite=Strict on all authentication cookies. This prevents the browser from sending cookies on cross-site requests, neutralizing CSRF at the browser level.
  • Deploy a Web Application Firewall (WAF): Add WAF rules that block cross-origin POST requests to state-changing URIs and enforce strict Origin/Referer header validation.
  • Disable Plugin Upload for Untrusted Users: If the CMS supports it, restrict administrative roles that can upload themes/plugins to a minimal set of personnel.
  • Multi-Factor Authentication (MFA): Enforce MFA for all admin accounts. While this does not prevent CSRF, it adds a second factor that the attacker cannot replay via the browser.

2) Patch/Upgrade Steps

  • Monitor Vendor Channels: Continuously check the Halo CMS official website and GitHub repository for a security release that addresses CVE-2026-67921. Upgrade to any version higher than 2.25.4 as soon as it is released.
  • BETA Testing: Before deployment, test any candidate version in a staging environment that mirrors production configurations.

3) Long-Term Hardening

  • Harden CORS Configuration: Ensure that CorsConfigurer.java (or the equivalent in future versions) is configured with an explicit allowlist of trusted origins, and that the allowedHeaders and allowedMethods are restricted to required values.
  • Strengthen CSRF Token Validation: Verify that CsrfConfigurer.java enforces token validation for all state-changing methods (POST, PUT, DELETE, PATCH) and that tokens are cryptographically random and bound to the user's session.
  • Implement Layered Defense-in-Depth:
    • Deploy a network-based IPS with custom rules to flag cross-origin requests to CMS admin paths.
    • Monitor for anomalous file uploads (e.g., .jsp, .jar) and the execution of processes spawned by the Java application.
    • Harden the underlying operating system and restrict the web application user account to the minimum privileges necessary.
  • Security Audits: Conduct periodic penetration tests that specifically target CSRF and CORS misconfigurations in the CMS.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-67921 — Official NVD entry with the vulnerability description and status updates.
  2. Halo CMS Official Website: https://www.halo.run — Monitor the official vendor site for security advisories and forthcoming patches. (Note: The exact advisory URL is unknown.)
  3. Halo CMS GitHub Repository: https://github.com/halo-dev/halo — Monitor the release tags and issues list for commit references addressing CORS/CSRF misconfiguration.
  4. CISA Known Exploited Vulnerabilities (KEV) Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — As of this report, CVE-2026-67921 is NOT listed. Recheck regularly for updates.
  5. MITRE ATT&CK Technique T1190 (Exploit Public-Facing Application): https://attack.mitre.org/techniques/T1190/ — Reference for the exploitation tactic associated with this vulnerability.

Threat Actor Campaigns / Exploit-in-the-Wild Evidence: None identified at the time of this report. No known threat actors have publicly associated with exploitation of CVE-2026-67921, and there is no evidence of in-the-wild exploitation. However, given the high value of CMS platforms (particularly PHP/Java-based ones) as an initial access vector, expect rapid weaponization once a PoC becomes available, especially given the ease of CSRF exploitation.

👁️ 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:"Halo"
http.favicon.hash:halo
"halo" "2.25.4" "cms"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-67921/ · 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.