Skip to main content

WeGIA CVE-2026-54670

| EUVDEUVD-2026-82574 CRITICAL
Path Traversal (CWE-22)
2026-09-17 security-advisories@github.com
9.1
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Send crafted HTTP request to control.php
  2. Delivery
    Set nomeClasse/metodo to sensitive controller method
  3. Exploit
    Bypass missing allowlist and auth exemption
  4. Execution
    Invoke getContribuicoesLogJSON or traversal include
  5. Impact
    Disclose donation records/credentials or trigger financial workflow

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

No special conditions - remote unauthenticated exploitation against default configurations of WeGIA prior to 3.8.5, reachable at web/html/contribuicao/controller/control.php. The pre-patch dispatcher hardcoded an auth exemption for ContribuicaoLogController and lacked a controller/method allowlist, so no session or credentials are required to invoke sensitive methods. The path-traversal LFI variant is additionally limited to files that already exist and are readable and resolve with a .php suffix, since the include path is constructed as controller name plus .php. Exploitation only requires network HTTP access to the application; there is no user-interaction or non-default-configuration requirement.

Impact

This is a genuine high-priority issue. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N, 9.1) is well-supported by the description and the confirmed patch diff: control.php accepted attacker-supplied nomeClasse/metodo with no complete controller+method allowlist and explicitly exempted ContribuicaoLogController from the session check, so an unauthenticated remote attacker can reach sensitive dispatcher methods over the network with low complexity. C:H and I:H are both justified - confidentiality from disclosure of contribution/donation records and, via the traversal-shaped require_once include, of source code, credentials, or config files; integrity from unauthenticated invocation of financial workflow operations (sincronizarStatus, registrarFaturas). A:N is reasonable. No EPSS score, no CISA KEV listing, and no public exploit code are present in the supplied intelligence, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the priority rests on the low attack bar and unauthenticated network reach, not on observed weaponization. The two published fix commits and the 3.8.5 release tag confirm a patch is available. Note the require_once path builds $controller . '.php', so a traversal payload must resolve to an existing readable .php file; this bounds the LFI to already-present files rather than arbitrary content, though included PHP is executed.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted HTTP request (JSON body or form parameters) to web/html/contribuicao/controller/control.php setting nomeClasse=ContribuicaoLogController and metodo=getContribuicoesLogJSON to dump contribution and donation records, or metodo=registrarFaturas/sincronizarStatus to drive financial workflows without a session. Alternatively a traversal-shaped nomeClasse causes require_once to include an accessible PHP/config file outside the controller directory, exposing source or credentials. No public exploit code is identified, but the patched dispatcher logic makes the payload structure obvious.

Act Now Prioritize within 24-48h. Why: CRITICAL severity + public POC available.
1 PoC candidate (unverified) Patch available 0.6% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 17, 2026

Unauthenticated remote attackers can invoke sensitive financial and record-disclosure methods inside WeGIA's contribution dispatcher and, using a traversal-shaped controller name, force require_once to load PHP or configuration files from outside the intended controller directory. Because the pre-3.8.5 dispatcher in web/html/contribuicao/controller/control.php hardcoded an authentication exemption for ContribuicaoLogController and enforced no controller/method allowlist, methods such as getContribuicoesLogJSON, sincronizarStatus and registrarFaturas are reachable by anyone with HTTP access, leaking contribution and donation records or triggering financial workflow operations. Rated CVSS 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N), this is a genuine high-priority issue; no public exploit identified at time of analysis, and it is fixed in version 3.8.5.

RemediationAI

Upgrade to WeGIA 3.8.5, the release that contains the fix (https://github.com/LabRedesCefetRJ/WeGIA/releases/tag/3.8.5); the two fixing commits are https://github.com/LabRedesCefetRJ/WeGIA/commit/8d451b3f57805e90c4af93decb341531b803a4e9 and https://github.com/LabRedesCefetRJ/WeGIA/commit/ba22e0ccbf5e499d9d45b7b0d1fcbc153269971d. If upgrading is not immediately possible, the most effective compensating control is to block external access to the contribution dispatcher itself - deny HTTP requests to web/html/contribuicao/controller/control.php (and any similar controller entry points) at the web server or reverse proxy - with the trade-off that legitimate contribution, receipt and payment workflows routed through that script will stop working for all users until the patch is applied. A weaker, partial mitigation is to filter requests and JSON bodies that contain '../' or path separators in the nomeClasse parameter or that reference controller names outside the expected set; this addresses the traversal-based local file inclusion but does not fix the unauthenticated method invocation, since the pre-patch dispatcher still exempts ContribuicaoLogController methods such as getContribuicoesLogJSON, sincronizarStatus and registrarFaturas from authentication - so sensitive records and financial operations remain exposed. Session enforcement or an authentication layer placed in front of the entire contribuicao path also limits the unauthenticated impact but must be validated against the legitimate flows the application depends on. Full remediation requires the 3.8.5 code, which adds strict identifier validation, explicit route allowlists, session checks and realpath containment; see the vendor advisory at https://github.com/LabRedesCefetRJ/WeGIA/security/advisories/GHSA-7p5g-g8xw-x47g.

Affected VersionsENISA

WeGIA < 3.8.5

Affected Packages

euvd wegia fix: 3.8.5

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

WeGIA is a PHP web application (a manager for charitable institutions) that uses a front-controller dispatch pattern: an entry script reads attacker-supplied nomeClasse (controller) and metodo (method) values from a JSON body or from $_REQUEST, derives a file path by appending '.php' to the controller name, includes it with require_once, instantiates the named class, and invokes the named method. In versions prior to 3.8.5 the include path was built without canonical directory containment, which is the CWE-22 root cause: a traversal-shaped controller value can escape the intended controller directory and include any existing, readable file that resolves with a .php suffix, exposing source code, credentials or other local data. The same dispatcher also combined a broken method allowlist with an explicit authentication bypass for the ContribuicaoLogController class, so sensitive methods (getContribuicoesLogJSON, sincronizarStatus, registrarFaturas, getRelatorio, pagarPorId and others) could be called without a session. The upstream fix (commits 8d451b3f57805e90c4af93decb341531b803a4e9 and ba22e0ccbf5e499d9d45b7b0d1fcbc153269971d) replaces this with strict identifier regexes on controller and method names, explicit public/private route maps, session enforcement for private routes, realpath-based containment checks (realpath(__DIR__) prefix comparison) and a ReflectionMethod isPublic() check before invocation - confirming both the access-control flaw that CWE-22 taxonomy labels as path traversal and the unauthenticated exposure of sensitive controller methods.

Know when Wegia 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) PRIMARY 9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 9.1 CRITICAL

Unauthenticated network dispatcher with no allowlist gives PR:N/AV:N/AC:L; record/source/credential disclosure yields C:H and financial-workflow invocation yields I:H; no availability impact.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

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

Lifecycle Timeline

2
Patch available
Sep 17, 2026 - 23:04 EUVD
CVE Published
Sep 17, 2026 - 22:17 cve.org
CRITICAL 9.1

DescriptionCVE.org

WeGIA is a web manager for charitable institutions. Prior to 3.8.5, the contribution request dispatcher in web/html/contribuicao/controller/control.php accepts attacker-controlled nomeClasse and metodo values without a complete controller and method allowlist, exempts sensitive ContribuicaoLogController operations from authentication, and constructs a controller include path without canonical directory containment. An unauthenticated remote attacker can invoke getContribuicoesLogJSON, sincronizarStatus, registrarFaturas, and other sensitive methods to disclose contribution and donation records or trigger financial workflow operations. A traversal-shaped nomeClasse value can also cause require_once to include an accessible PHP or configuration file outside the intended controller directory, exposing source code, credentials, or other sensitive local data. This issue is fixed in version 3.8.5.

Technical POC Analysis

CWE-22 and CWE-306.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Latest POC

1 PoC candidate from github (unverified)

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

A critical flaw in WeGIA (pre-3.8.5) allows anyone who can reach the application over the network to read contribution and donation records and to trigger financial workflow actions without logging in, because its request dispatcher exempts a controller from authentication and fails to constrain which controllers and files can be invoked. This exposes donor and contribution data and undermines confidence in the integrity of recorded financial activity, so it should be treated as a potential breach of personal and financial information affecting donors, contributors, and finance staff. Leadership should care because the exposure requires no credentials and no user interaction, and because data protection and financial reporting obligations attach to the affected records.

Business Impact: High
Compensating Controls

Apply vendor patch (upgrade to WeGIA 3.8.5 or later). Until then, restrict network access to the application via VPN, IP allowlisting, or reverse-proxy rules; block path-traversal and direct controller-path requests at the WAF; and isolate or disable the contribution module.

Threat Intelligence Overview

EPSS Score
0.6%
Top 55% exploitable
Prevalence
Low
niche open-source web manager for charitable institutions, small deployment footprint
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 CRITICAL
CISA KEV No
Public POC Yes
EPSS 0.6%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity + public POC available
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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Total

Priority Score

67
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +46
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Wegia

View all
CVE-2025-50201 CRITICAL POC
9.8 Jun 19

Critical OS Command Injection vulnerability in WeGIA (a web management system for charitable institutions) versions prio

CVE-2025-27140 CRITICAL POC
10.0 Feb 24

WeGIA is a Web manager for charitable institutions. Rated critical severity (CVSS 10.0), this vulnerability is remotely

CVE-2025-26613 CRITICAL POC
10.0 Feb 18

WeGIA is an open source Web Manager for Institutions with a focus on Portuguese language users. Rated critical severity

CVE-2025-55169 CRITICAL POC
10.0 Aug 12

WeGIA is an open source web manager with a focus on the Portuguese language and charitable institutions. Rated critical

CVE-2025-30364 CRITICAL POC
10.0 Mar 27

WeGIA is a Web manager for charitable institutions. Rated critical severity (CVSS 10.0), this vulnerability is remotely

CVE-2025-46828 CRITICAL POC
10.0 May 07

WeGIA is a web manager for charitable institutions. Rated critical severity (CVSS 10.0), this vulnerability is remotely

CVE-2025-26612 CRITICAL POC
10.0 Feb 18

WeGIA is an open source Web Manager for Institutions with a focus on Portuguese language users. Rated critical severity

CVE-2025-26617 CRITICAL POC
10.0 Feb 18

WeGIA is an open source Web Manager for Institutions with a focus on Portuguese language users. Rated critical severity

CVE-2025-26611 CRITICAL POC
10.0 Feb 18

WeGIA is an open source Web Manager for Institutions with a focus on Portuguese language users. Rated critical severity

CVE-2025-26609 CRITICAL POC
10.0 Feb 18

WeGIA is an open source Web Manager for Institutions with a focus on Portuguese language users. Rated critical severity

CVE-2025-26608 CRITICAL POC
10.0 Feb 18

WeGIA is an open source Web Manager for Institutions with a focus on Portuguese language users. Rated critical severity

CVE-2025-26607 CRITICAL POC
10.0 Feb 18

WeGIA is an open source Web Manager for Institutions with a focus on Portuguese language users. Rated critical severity

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