Skip to main content

CiviForm EUVDEUVD-2026-95984

| CVE-2026-107856 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-09 GitHub_M
4.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as provisioned Trusted Intermediary
  2. Exploit
    Enumerate sequential accountId values
  3. Execution
    Request editClientForm for foreign accounts
  4. Impact
    Harvest cross-group applicant names and emails

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Attacker must already hold an authenticated, admin-provisioned Trusted Intermediary account within a CiviForm instance running a version prior to 3.33.0; with that role they call GET /admin/tiDash/editClientForm/:accountId and vary the accountId path parameter. Exploitation is LIMITED by: (1) the requirement for a legitimate Trusted Intermediary role (not a basic applicant or anonymous user), (2) the narrow data disclosed - only applicant display name and email address, not full benefit-application contents, and (3) applicability only to versions before the 3.33.0 fix. No victim interaction is actually required for the enumeration despite the input vector's UI:R metric.

Impact

This is a genuine but moderate-severity authorization flaw (CWE-639, insecure direct object reference). The provided CVSS base score of 4.5 (Medium) reflects that exploitation requires an already-provisioned, authenticated Trusted Intermediary account (PR:H in the input vector) and that impact is limited to confidentiality of applicant display data (C:H/I:N/A:N). No EPSS score, KEV listing, or public exploit code is present in the supplied intelligence, so there is no public exploit identified at time of analysis and no evidence of active exploitation; this is not a drop-everything priority. Several input signals are internally inconsistent and should be verified: the vector asserts UI:R (user interaction required), yet the described attack is pure server-side enumeration of accountId values via GET requests and realistically needs no victim interaction (UI:N is more defensible); and C:H seems high given that only a display name and email are exposed rather than full application records (C:L is arguably more accurate). The real-world risk is best characterized as a privacy/PII-exposure issue exploitable only by insiders with the Trusted Intermediary role, not by anonymous internet attackers.

Exploit ScenarioDerived

A Trusted Intermediary who has been provisioned in a CiviForm deployment iterates numeric accountId values against GET /admin/tiDash/editClientForm/:accountId; because showEditClientForm calls lookupAccount(accountId) without confirming the account belongs to the intermediary's trustedIntermediaryGroup, the server returns the citizen's name and email for accounts outside the attacker's group. No public exploit code is identified at time of analysis, and the fix commit/PR demonstrate the missing authorization check rather than a weaponized exploit. The attack is low-complexity and network-reachable but gated behind holding a legitimate Trusted Intermediary account.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 09, 2026

An authenticated insecure direct object reference in CiviForm before 3.33.0 lets a Trusted Intermediary read the display name and email address of applicants belonging to other trusted intermediary groups by enumerating account IDs through GET /admin/tiDash/editClientForm/:accountId. The route enforces the Trusted Intermediary role but the downstream showEditClientForm handler performs a raw lookupAccount(accountId) without verifying that the citizen account falls inside the caller's trustedIntermediaryGroup, so varying the accountId path parameter returns a different applicant's personal identifiers. Exploitation requires a legitimate, admin-provisioned Trusted Intermediary account, the disclosed data is limited to name and email (not full application contents), and the fix ships in version 3.33.0; no public exploit code or confirmed active exploitation was identified at time of analysis, and the risk is a moderate-severity authorization flaw rather than a broad data breach.

RemediationAI

Upgrade to CiviForm 3.33.0, the vendor-released patch version (see https://github.com/civiform/civiform/releases/tag/v3.33.0); the fix was merged as PR https://github.com/civiform/civiform/pull/13635 with commit https://github.com/civiform/civiform/commit/ccfd84ff2d9ee6570a1b1524c7ae3a3732e1839e and is documented in the GitHub Security Advisory GHSA-qv7c-9hjr-9rv7 at https://github.com/civiform/civiform/security/advisories/GHSA-qv7c-9hjr-9rv7. If an immediate upgrade is not possible, the most effective compensating control is to restrict the Trusted Intermediary role to the smallest possible set of vetted accounts and audit that provisioning list, since the flaw is only reachable by an account holding that role - the trade-off is reduced intermediary capacity for benefit applicants. In addition, review reverse-proxy or WAF logs for sequential or high-volume requests to /admin/tiDash/editClientForm/ with varying accountId values and alert on that pattern; this does not stop a slow, low-rate enumeration and may generate false positives from legitimate TI workflows. Rotating or tightening access to intermediary credentials and periodically reconciling trustedIntermediaryGroup membership limits the blast radius of an already-compromised TI account, but only the 3.33.0 upgrade fully removes the missing object-level authorization check.

Affected VersionsENISA

civiform < 3.33.0

Affected Packages

euvd civiform fix: 3.33.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

CWE-639 (Authorization Bypass Through User-Controlled Key) in a Java/Play Framework web application. CiviForm is a government benefits application platform that reuses applicant data across programs, and it models two distinct principals: citizen applicants who own accounts, and Trusted Intermediaries (TIs) - staff or nonprofit helpers provisioned by an administrator - who are scoped to a trustedIntermediaryGroup. The vulnerable endpoint is a two-part flow: the GET /admin/tiDash/editClientForm/:accountId route confirms the requester holds the Trusted Intermediary role, but the showEditClientForm implementation then calls lookupAccount(accountId) directly and renders the applicant display name, including the citizen's name and email address, for whatever identifier is supplied. Because the accountId is an attacker-controlled key and group membership is never re-checked against the account's owning group, the authorization decision is made at the wrong granularity - role-level rather than object-level. The upstream fix (PR #13635, commit ccfd84ff2d9ee6570a1b1524c7ae3a3732e1839e) generalizes this pattern by inserting checkApplicantAuthorization(request, applicantId) authorization gates ahead of applicant data retrieval in applicant-facing controllers, ensuring the account is validated on every request path rather than only at the role boundary. Affected builds are captured by the CPE cpe:2.3:a:civiform:civiform:*:*:*:*:*:*:*:*, i.e. the whole CiviForm product line prior to the 3.33.0 release.

Know when Civiform gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 4.5 MEDIUM
AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N
vuln.today AI 4.3 MEDIUM

Trusted Intermediary is a standard provisioned role (PR:L), enumeration needs no victim interaction (UI:N), and only name/email PII is exposed (C:L), with no integrity or availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Oct 09, 2026 - 22:17 EUVD

DescriptionCVE.org

CiviForm simplifies applications for government benefits programs by reusing applicant data across multiple benefit applications. Prior to 3.33.0, GET /admin/tiDash/editClientForm/:accountId verifies that the requester is a Trusted Intermediary but showEditClientForm performs a raw lookupAccount(accountId) without confirming that the citizen account belongs to the requester's trustedIntermediaryGroup. An authenticated Trusted Intermediary can enumerate accountId values and read the applicant display name, including the citizen's name and email address, for accounts outside the intermediary's group. This issue is fixed in version 3.33.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
niche government-benefits application platform, limited civic-tech deployments
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

22
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +22
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy