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

CVE-2026-12076

CVE-2026-12076 SQL Injection in PostgreSQL
📅 PUBLISHED: 2026-06-30 00:00 UTC 🔄 UPDATED: 2026-08-12 15:44 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.31%
👁️
0.31% probability
7.8× 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.
Country: Global License: Open Source
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: N User Interaction None
S: C Scope Changed
C: H Confidentiality High
I: H Integrity High
A: H Availability High
9.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-12076 is a critical unauthenticated SQL injection vulnerability in the OData filter parsing pipeline of Raytha CMS, version 1.5.2 and potentially earlier versions. A remote attacker can inject arbitrary SQL statements into the underlying PostgreSQL database without any authentication, allowing full database compromise, including extraction of user credentials and sensitive data. The vulnerability has been assigned a CVSS score of 9.3 (Critical) and, although no public exploit code exists, the attack surface is trivial to reach, making immediate mitigation essential.

⚡ 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

Raytha CMS implements an OData-compliant query interface, commonly used to expose entity collections via HTTP endpoints that accept $filter parameters. The vulnerability resides in how the OData filter parser translates user-supplied expressions into SQL WHERE clauses for PostgreSQL.

The parsing pipeline is supposed to whitelist allowed operators (eq, ne, gt, lt, and, or, not) and map property names to predefined columns. However, the parser fails to adequately sanitize or parameterize string literals and fails to restrict the use of nested function calls or inline SQL tokens. Specifically, the tokenizer recognizes quoted strings and operators but does not validate the context in which they appear. This allows an attacker to break out of the intended expression grammar by injecting SQL metacharacters such as ', ;, --, or comments /* */.

An OData filter such as $filter=Id eq 1 is translated into a SQL predicate like WHERE ("Id" = 1). By passing a crafted filter value, e.g. $filter=Id eq 1' OR '1'='1' --, the parser constructs the following SQL fragment:

WHERE ("Id" = 1' OR '1'='1' --)

Because the SQL statement is concatenated without bound parameters, the injected content is executed directly by PostgreSQL. The use of PostgreSQL stacked queries (; followed by additional SQL) is also possible if the database driver permits multiple statements per execution, which is common in ADO.NET Npgsql connectors configured for batch execution. This enables an attacker to run INSERT, UPDATE, DELETE, and even COPY ... FROM PROGRAM (when running as a superuser) to achieve arbitrary command execution on the database server.

The attack vector is fully unauthenticated, requiring only HTTP access to any Raytha endpoint that supports OData queries (typically POST/GET to /api/odata/* or similar routes). The functionality is exposed by default. The impact is not limited to stored data — PostgreSQL system catalogs (pg_authid, pg_shadow) can be queried to dump password hashes, and pg_read_file() can read arbitrary files on the database host if file access privileges are not restricted.

Exploitation Scenarios

The following step-by-step attack chain demonstrates how an unauthenticated remote attacker exploits CVE-2026-12076:

  1. Reconnaissance / Target Identification:
    The attacker identifies Raytha CMS deployments by scanning for open ports (usually 80/443) and using search engine queries or Shodan dorks to find exposed instances. They fingerprint the application by requesting /api/odata/ and observing an OData XML/JSON response listing available entity sets (e.g., Users, Posts, Settings). This confirms the OData pipeline is active.

  2. Vulnerability Trigger:
    The attacker sends a GET request to an OData entity endpoint with a malicious $filter parameter. Example:

    GET /api/odata/Users?$filter=Id%20eq%201'%20OR%20'1'%3D'1'%20--&$top=1
    

    URL-decoded: Id eq 1' OR '1'='1' --. This benign test payload verifies injection by returning all rows instead of the single row with Id=1.

  3. Weaponization / Payload Execution:
    Upon confirming the injection point, the attacker escalates to data exfiltration. Using PostgreSQL stacked queries, they inject a UNION SELECT to enumerate table names from information_schema.tables:

    $filter=Id eq 1' UNION SELECT table_name FROM information_schema.tables -- 
    

    To dump user credentials, they target the Users table:

    $filter=Id eq 1' UNION SELECT username, password_hash, email FROM "Users" -- 
    

    If the database user is a superuser (common in default installations), they execute OS commands using COPY ... FROM PROGRAM:

    $filter=Id eq 1'; COPY (SELECT 'id') TO PROGRAM 'id > /tmp/pwned.txt'; --
    

    This writes the output of id to a file on the database server, proving command execution.

  4. Post-Exploitation:
    The attacker uses extracted password hashes to attempt offline cracking or to pivot to other systems using reused credentials. They may also install a persistent backdoor by injecting a new user record via INSERT INTO "Users" ..., granting them continued access even if the vulnerability is later patched. With arbitrary file read (pg_read_file), they can harvest database configuration files, TLS private keys, and application secrets to compromise the entire infrastructure.

Impact Assessment

Per the CVSS vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H, this is a network-exploitable, low-complexity, unauthenticated flaw with changed scope. The base score of 9.3 (Critical) reflects maximum confidentiality, integrity, and availability impact: an attacker gains complete control over the PostgreSQL database, which is the system of record for Raytha.

  • Confidentiality (High): Full database contents exposed, including password hashes, personal data, tokens, and application secrets.
  • Integrity (High): Arbitrary SQL execution enables data modification, deletion, and injection of rogue administrative accounts.
  • Availability (High): An attacker can drop tables, truncate schemas, or exhaust DB resources, causing denial of service.
  • Blast Radius: The database host itself is at risk (OS command execution potential). If the database server shares the network with other services, lateral movement is a realistic threat. All Raytha instances running ≤ 1.5.2 are impacted; no other versions have been confirmed, but the flaw is likely inherited from the codebase's OData library and may affect earlier releases.

Detection Guidance

Sigma Rule

title: Raytha CMS SQL Injection via OData Filter Parameter
id: 5d2aeb5e-db91-4b0f-9b99-9c6df48a79ec
status: experimental
description: Detects attempts to exploit CVE-2026-12076 by injecting SQL syntax into OData $filter parameters on Raytha CMS.
logsource:
  category: webserver
  product: iis
detection:
  selection:
    cs-uri-query|contains:
      - '$filter='
      - "' OR '"
      - "' UNION "
      - "' ; "
      - 'information_schema'
      - 'pg_authid'
  condition: selection
level: critical
falsepositives:
  - Legitimate OData queries with unusual but valid filter strings (rare).
tags:
  - attack.t1190

YARA Rule

rule Raytha_SQLi_OData {
    meta:
        author = "Valterit Threat Intel"
        description = "Detect SQL injection payload patterns targeting Raytha OData endpoints."
        cve = "CVE-2026-12076"
        date = "2026-02-15"
    strings:
        $a = "$filter=" ascii wide nocase
        $b = "UNION SELECT" ascii wide nocase
        $c = "information_schema" ascii wide nocase
        $d = "pg_authid" ascii wide nocase
        $e = "' OR '1'='1" ascii wide nocase
    condition:
        $a and (any of ($b,$c,$d,$e))
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-12076 Raytha CMS OData SQL Injection Attempt"; flow:established,to_server; content:"$filter="; http_uri; content:"OR"; http_uri; nocase; content:"1'='1"; http_uri; nocase; sid:20261207601; rev:1;)

Elastic Detection

sequence by source.ip with maxspan=5m
  [http where http.request.uri contains "$filter=" and wildcard(http.request.uri, "*UNION*") ]
  [http where http.request.uri contains "$filter=" and wildcard(http.request.uri, "*' OR '*") ]

Splunk SPL Query

index=proxy OR index=web
| where like(uri, "%$filter=%") 
   and (like(uri, "%UNION%") OR like(uri, "%information_schema%") OR like(uri, "%' OR '1'='1%"))
| table _time, src_ip, dest_ip, uri, user_agent
| sort - _time

Wazuh OSSEC Rule

<group name="web,">
  <rule id="234774" level="15">
    <if_sid>31122</if_sid>
    <match>$filter=</match>
    <regex>UNION|information_schema|OR '1'='1</regex>
    <description>CVE-2026-12076 Raytha CMS OData SQL Injection attempt detected.</description>
    <group>attack.t1190,</group>
  </rule>
</group>

Mitigation & Patch Guidance

  1. Immediate Mitigations (No Patch / Partial Patch):

    • There are no vendor-provided workarounds. As a stopgap, deploy a Web Application Firewall (WAF) rule to block requests containing suspicious OData filter strings (UNION, OR '1'='1, ;--, etc.) on /api/odata/* paths.
    • Restrict network access to OData endpoints to trusted IP ranges via the web server config (IIS URL Rewrite or reverse-proxy ACLs).
    • Run the PostgreSQL service with a least-privilege database user (non-superuser) and revoke pg_read_file and COPY PROGRAM privileges from the application DB role.
    • Enable PostgreSQL audit logging (log_statement = 'all' in postgresql.conf) to capture malicious SQL for incident response.
  2. Patch / Upgrade Steps:

    • If no official release is available, contact Raytha support directly to request a patched version or a timeline for an updated release.
    • Subscribe to the OSV entry for this CVE to be notified when patch confirmation is updated.
  3. Long-Term Hardening:

    • Enforce use of parameterized queries for all OData translations — the fix should replace string concatenation with bound parameters.
    • Integrate static code analysis and DAST scans into the CI/CD pipeline to catch SQL injection patterns in OData parsers before release.
    • Place the PostgreSQL database on an isolated backend network with firewalling from the public internet. Ensure the DB host is patched and hardened per CIS benchmarks.
    • Maintain an inventory of all Raytha CMS instances (including legacy versions) and track their exposure to this CVE.

References

  1. NVD Entry for CVE-2026-12076: https://nvd.nist.gov/vuln/detail/CVE-2026-12076 (official description, CVSS score).
  2. OSV Advisory (Patch Source): https://osv.dev/vulnerability/CVE-2026-12076 (single-source patch claim, commit reference).
  3. Raytha CMS Official Site: https://raytha.com (vendor contact; note: contact attempts were unsuccessful — verify status).
  4. CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog (checked: not listed — no active exploitation in the wild has been confirmed).
  5. MITRE ATT&CK T1190: https://attack.mitre.org/techniques/T1190/ (Exploit Public-Facing Application — primary tactic for this CVE).

Threat Actor Activity: There is currently no evidence of exploitation in the wild. The EPSS score of 0.00314 (23.8% percentile) indicates low immediate exploitation likelihood, but the lack of a confirmed patch raises the long-term risk of a weaponized public exploit being developed.

👁️ 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:"Raytha"
http.html:"raytha"
http.server:"Raytha"

💣 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-2026-12076/ · 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.