CVE-2026-100303
Executive Summary
CVE-2026-100303 is a broken access control vulnerability (CWE-862, missing authorization) in the TDuck survey form platform through version 6.0. The FormThemeController write endpoints for global form themes and theme categories do not enforce authorization checks, allowing any authenticated non-administrative user to add, modify, or delete global themes and theme categories. Because these global theme objects are shared across the installation, unauthorized modifications affect forms owned by other users, undermining data integrity and cross-tenant isolation at low severity (CVSS 5.4).
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.
No signup required
Technical Analysis
The vulnerability is a classic missing function-level access control (CWE-862) issue. In the TDuck survey form application, the FormThemeController exposes write endpoints responsible for managing global form themes and theme categories. According to the NVD description, these write endpoints "lack authorization checks." This means the controller methods perform state-changing operations (create, update, delete) without verifying that the requesting principal holds the administrative privilege required for managing global/shared resources.
The key architectural flaw is the conflation of authentication with authorization. The affected platform does authenticate users, but the write operations on global theme objects are gated only on a valid session rather than on an administrative role or ownership check. As a result, the trust boundary between a normal authenticated user and an administrator is not enforced for this class of operations.
Attack surface: The FormThemeController write endpoints are network-reachable (AV:N) and require only low privileges (PR:L — a valid non-admin account), with no user interaction (UI:N). The impact is scoped to the vulnerable component (S:U). The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L indicates:
- Confidentiality: None — the flaw does not disclose data.
- Integrity: Low — themes and theme categories can be tampered with or deleted.
- Availability: Low — deletion of shared theme resources degrades rendering/availability of dependent forms.
Because themes and categories are global, an attacker's changes propagate to forms owned by other users, which is the cross-tenant impact explicitly called out in the NVD description. No information about the concrete HTTP routes, parameter names, or controller method signatures is available in the provided data; those implementation specifics must not be assumed.
The absence of a CVE-assigned CWE beyond CWE-862, combined with a patch confidence of 0/4, indicates that no vendor fix or upstream mitigation has been identified. The EPSS score is not yet assigned by FIRST.org.
Exploitation Scenarios
No public proof-of-concept, exploit code, or Nuclei template exists for this CVE as of this report. The attack chain below is described strictly at the vulnerability-class level based on the NVD description; no specific endpoints, parameters, or method names beyond those given are asserted.
Reconnaissance / target identification. An attacker identifies a TDuck survey form deployment (version ≤ 6.0) exposed on the network, for example via HTTP response body or page title fingerprinting using the Shodan dorks listed above. The attacker determines that self-registration or provisioned low-privilege accounts are available, or already possesses one valid non-admin account.
Prerequisite acquisition. The attacker authenticates with a legitimate but non-administrative account (PR:L). No elevated role is required because the vulnerable
FormThemeControllerwrite endpoints do not perform authorization checks.Triggering the flaw (vulnerability-class level). The attacker sends state-changing requests to the
FormThemeControllerwrite endpoints that manage global themes and theme categories. Because the endpoints verify authentication but not administrative authorization, the requests succeed for a non-admin principal. The attacker adds, modifies, or deletes global themes and theme categories. No specific HTTP verb, route, or payload is documented, so the exact request format is unknown.Post-exploitation impact. Tampering with global themes and categories affects forms owned by other users, since these resources are shared installation-wide. Deletions or malformed themes can break the visual rendering of victim-owned forms (integrity and availability impact), and modified themes could be used to misrepresent form content or branding. The flaw does not yield data disclosure (C:N) and does not directly enable code execution or privilege escalation per the CVSS vector.
Note: This is a low-complexity, low-privilege integrity/availability attack. Because global theme objects are cross-user resources, the practical blast radius exceeds that of a purely per-user resource modification, even though CVSS scope is Unchanged.
Impact Assessment
Business impact centers on integrity and availability of shared UI resources rather than confidentiality:
- Integrity (Low): Unauthorized modification of global themes and theme categories allows a non-admin to alter the appearance and categorization used by forms belonging to other users. This can misrepresent branding, inject misleading styling, or disrupt the intended presentation of surveys.
- Availability (Low): Deletion of global themes or categories can break the rendering of dependent forms owned by other users, degrading service for legitimate users.
- Confidentiality (None): The flaw does not expose data.
Affected systems are any TDuck survey form deployments running version 6.0 or earlier where the FormThemeController is reachable and low-privilege accounts exist. Blast radius is multi-tenant/multi-user because themes and categories are global — a single non-admin account can impact forms it does not own. CVSS base score is 5.4 (Medium), with the vector reflecting network reachability, low privilege requirement, no user interaction, and low integrity/availability impact. No CISA KEV listing and no known exploitation in the wild have been reported.
Detection Guidance
Sigma Rule
This rule targets suspicious access to TDuck theme management endpoints following authentication by non-admin users. Adjust field names (cs-uri-stem) to your log source schema.
title: TDuck FormThemeController Unauthorized Write Attempt
id: 7f3c9a12-4b6e-4d21-9c88-2a1de0f5b7c3
status: experimental
description: Detects POST/PUT/DELETE requests to TDuck FormThemeController theme management endpoints, indicative of CVE-2026-100303 missing authorization abuse.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-100303
author: valtersit.com
date: 2026/01/01
logsource:
category: webserver
detection:
selection_method:
cs-method:
- 'POST'
- 'PUT'
- 'DELETE'
- 'PATCH'
selection_uri:
cs-uri-stem|contains:
- 'FormThemeController'
- '/form/theme'
- '/theme/category'
filter_admin:
user_role: 'admin'
condition: selection_method and selection_uri and not filter_admin
fields:
- c-ip
- cs-uri-stem
- cs-method
- user_role
falsepositives:
- Legitimate administrative theme management
level: medium
YARA Rule
Detection for suspicious theme-modification request artifacts in logs or captured payloads referencing the vulnerable component. String sets are generic to the component naming and must be tuned to the environment.
rule CVE_2026_100303_TDuck_FormTheme_Abuse
{
meta:
description = "Detects references to TDuck FormThemeController global theme write operations (CVE-2026-100303)"
author = "valtersit.com"
date = "2026-01-01"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-100303"
severity = "medium"
strings:
$c1 = "FormThemeController" ascii wide nocase
$c2 = "themeCategory" ascii wide nocase
$c3 = "globalTheme" ascii wide nocase
$m1 = "POST" ascii
$m2 = "DELETE" ascii
$m3 = "PUT" ascii
condition:
uint16(0) == 0x0d0a or $c1 or
(any of ($c2, $c3) and any of ($m1, $m2, $m3))
}
Suricata IDS Rule
Network detection for write-method requests against TDuck theme management paths. Tune the HTTP URI content to the deployment's actual routing.
alert http any any -> any any (msg:"CVE-2026-100303 TDuck FormThemeController Unauthorized Theme Write Attempt"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"FormThemeController"; nocase; reference:cve,2026-100303; classtype:attempted-admin; sid:2026100303; rev:1;)
alert http any any -> any any (msg:"CVE-2026-100303 TDuck Theme Category Write Attempt"; flow:established,to_server; http.method; content:"DELETE"; http.uri; content:"theme"; nocase; http.uri; content:"category"; nocase; reference:cve,2026-100303; classtype:attempted-admin; sid:2026100304; rev:1;)
Elastic Detection
EQL sequence detecting authentication by a non-admin account followed by a theme write request to the vulnerable component within a short window.
sequence by user.name with maxspan=5m
[ authentication where event.outcome == "success" ]
[ network where
http.request.method in ("POST", "PUT", "DELETE", "PATCH") and
http.request.uri like~ "*FormThemeController*" and
not user.roles : "admin" ]
Splunk SPL Query
Detects non-admin users issuing write methods to theme management endpoints on TDuck hosts.
index=web OR index=proxy
| eval uri=coalesce(uri, cs_uri_stem, url)
| eval method=upper(coalesce(method, cs_method, http_method))
| eval role=coalesce(user_role, role, user)
| where (method IN ("POST","PUT","DELETE","PATCH"))
AND (match(uri, "(?i)FormThemeController") OR (match(uri, "(?i)theme") AND match(uri, "(?i)category")))
AND NOT match(role, "(?i)admin")
| stats count min(_time) as first_seen max(_time) as last_seen values(uri) as uris by src_ip, role
| convert ctime(first_seen) ctime(last_seen)
| sort - count
Wazuh OSSEC Rule
Wazuh rule to flag unauthorized theme write attempts in web access logs.
<group name="td 3,web,access_control,">
<rule id="100303" level="10">
<if_sid>31100</if_sid>
<match>FormThemeController</match>
<regex type="pcre2">(?i)(POST|PUT|DELETE|PATCH).*FormThemeController</regex>
<description>CVE-2026-100303: Possible unauthorized TDuck FormThemeController theme write attempt</description>
<mitre>
<id>T1190</id>
</mitre>
</rule>
<rule id="100304" level="8">
<if_sid>31100</if_sid>
<regex type="pcre2">(?i)(POST|PUT|DELETE|PATCH).*theme.*categor</regex>
<description>CVE-2026-100303: Possible unauthorized TDuck theme category write attempt</description>
<mitre>
<id>T1190</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). No vendor fix, workaround, or affected-version mapping is available beyond "through 6.0."
1) Immediate mitigations (no vendor patch available):
- Restrict network access to the TDuck application so only trusted administrators can reach the
FormThemeControllerwrite surface; place the platform behind a VPN, zero-trust proxy, or IP allowlist. - Disable or tightly control self-registration so untrusted parties cannot obtain the low-privilege authenticated account required to exploit the flaw.
- Apply an upstream reverse-proxy/WAF rule that denies write methods (POST/PUT/DELETE/PATCH) to theme-management paths for any principal not in the administrator role.
- Minimize the number of non-admin accounts and audit roles; treat all non-admin sessions as potentially abusive against global resources.
2) Patch / upgrade steps:
- No patch is currently available (Patch Confidence 0/4). Monitor the TDuck project and the CVE record for an updated release addressing CVE-2026-100303.
- When a fixed version is published, upgrade all deployments running version 6.0 or earlier and re-validate that
FormThemeControllerwrite endpoints enforce administrative authorization.
3) Long-term hardening:
- Enforce server-side role-based access control (RBAC) on every state-changing controller method, not just authentication, following the principle of deny-by-default.
- Treat global/shared resources (themes, categories) as administrative objects requiring explicit elevated authorization.
- Add automated authorization tests (e.g., non-admin session attempting admin-only writes) to CI to catch missing-access-control regressions.
- Log and alert on all write operations against global configuration objects, and review access-control boundaries during periodic design reviews.
References
- NVD — CVE-2026-100303: https://nvd.nist.gov/vuln/detail/CVE-2026-100303
- MITRE CWE-862 — Missing Authorization: https://cwe.mitre.org/data/definitions/862.html
- FIRST EPSS (no score assigned as of this report): https://www.first.org/epss/
- CISA Known Exploited Vulnerabilities Catalog (CVE not listed as of this report): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
No threat actor campaigns or exploit-in-the-wild activity have been associated with CVE-2026-100303 based on available data. No public PoC, exploit code, or Nuclei template exists as of this report.
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.