Skip to main content

web2py EUVDEUVD-2026-84150

| CVE-2026-79318 MEDIUM
Path Traversal (CWE-22)
2026-09-21 mitre GHSA-whpq-2rxm-79rp
6.5
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to web2py admin interface
  2. Delivery
    Call read_file()/write_file() webservice with ../ path
  3. Exploit
    Escape admin application directory
  4. Execution
    Read or overwrite arbitrary server files
  5. Impact
    Escalate to code execution or exfiltrate secrets

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

Requires authenticated access to the web2py administrative interface, because the vulnerable read_file()/write_file() endpoints reside in applications/admin/controllers/webservices.py, which is protected by the admin password (PR:H). Given that access, no user interaction is needed (UI:N) and the request is delivered over the network (AV:N) with low complexity. Limiting factors: the admin app must be enabled and reachable (it is often restricted to localhost/HTTPS or disabled in hardened deployments), and the attacker must already hold admin credentials. Affected build is web2py 3.2.2-stable at commit a7330a2bf21219fa77860b6665de927dd4f98e6d.

Impact

The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N, base 6.5) describes a network-reachable, low-complexity flaw that nonetheless requires high privileges (PR:H) - consistent with the affected code living in web2py's admin application (applications/admin/controllers/webservices.py), which is gated behind the administrative interface password. This is a meaningful downgrade from a raw 'critical' read because an attacker must first be authenticated to the admin console. EPSS is low (0.22%, 13th percentile) and there is no CISA KEV listing, so there is no evidence of widespread automated exploitation; risk is opportunistic/targeted rather than mass-scanned. One reference points to a third-party researcher CVE writeup (github.com/lichoin/TraceLoom/blob/main/CVEs/CVE-2026-79318.md), which typically contains reproduction detail, but the input does not carry an explicit POC=YES flag, so exploit-code availability should be treated as unconfirmed. Net: this is a moderate, precondition-heavy issue - genuinely dangerous once admin access is held (arbitrary file read AND write via read_file/write_file can escalate to code execution), but the PR:H gate and absence of KEV/EPSS signal keep it out of emergency-patch territory for most defenders.

Exploit ScenarioDerived

An attacker who has obtained (or brute-forced/reused) the web2py admin interface password sends a crafted filename containing '../' sequences to the read_file() or write_file() web service in applications/admin/controllers/webservices.py, escaping the intended application directory. This lets them read sensitive host files (config, credentials, private keys) and, via write_file(), plant or overwrite files anywhere the web2py process can write - potentially dropping a controller or WSGI file for code execution. A public technical writeup referenced for this CVE likely documents the exact traversal payload.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 22, 2026

Authenticated administrative users of web2py 3.2.2-stable (commit a7330a2bf21219fa77860b6665de927dd4f98e6d) can abuse the read_file() and write_file() endpoints in the admin application's webservices controller to traverse outside the intended web2py directory and read or overwrite arbitrary files on the host. Because those endpoints sit behind the admin interface password, exploitation requires high privileges (CVSS 3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N, base 6.5) and depends on the admin app being enabled and network-reachable, which hardened deployments often prevent by binding it to localhost, disabling it, or fronting it with additional authentication. No public exploit code has been identified at time of analysis and the flaw is not on CISA KEV; EPSS is low at 0.22% (13th percentile), so exploitation is currently assessed as opportunistic rather than widespread.

RemediationAI

No vendor-released patch version is identified in the provided intelligence, so the primary action is to track the upstream repository at https://github.com/web2py/web2py for a fix commit or new stable release and upgrade web2py as soon as a corrected build is published, since the confirmed vulnerable build is 3.2.2-stable (commit a7330a2bf21219fa77860b6665de927dd4f98e6d). Until then, apply compensating controls that directly remove the exposed surface: if the admin application is not needed in production, remove or disable applications/admin entirely (for example by deleting the admin app from the deployment rather than just hiding the route), accepting the trade-off that all administrative UI functionality is lost, or at minimum bind the admin interface to localhost/loopback or a management VLAN and restrict it with firewall rules or an authenticating reverse proxy, accepting the trade-off that remote administration then requires a jump host or VPN. Reduce the blast radius by running web2py under a dedicated low-privilege account whose filesystem write access is confined to the deployment directory, and by keeping config files, database credentials and SSH keys outside any path that account can modify; note this limits but does not eliminate the read/write primitive. Because the flaw requires high privileges (PR:H), also treat any compromise or sharing of admin credentials as the enabling precondition: enforce unique, strong admin passwords, avoid shared admin accounts, and monitor the admin app for anomalous file-oriented requests, accepting the trade-off that credential rotation alone will not stop an attacker who already holds valid admin credentials and detects no exploit by itself.

Affected VersionsENISA

n/a n/a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

The affected code is the file-serving and file-writing logic used by web2py's bundled administrative application, specifically read_file() and write_file() in applications/admin/controllers/webservices.py. The root cause class is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, i.e. path traversal): attacker-controlled path components are joined into a filesystem path without normalizing the result or verifying that the resolved path remains inside the intended base directory, so '../' sequences (and equivalent encodings) escape the web2py tree. web2py is a Python web framework whose admin application is delivered as an ordinary web2py app, which is why the exposed surface is a web endpoint rather than a local API and why reachability depends on whether the admin app is deployed and exposed. The supplied CPE string is an unresolved placeholder (cpe:2.3:a:n/a:n/a:*:*:*:*:*:*:*:*) and EUVD likewise lists 'n/a n/a', so product identification rests on the description and the upstream repository rather than on CPE matching; the only build confirmed as affected in the input data is 3.2.2-stable at commit a7330a2bf21219fa77860b6665de927dd4f98e6d. Confidentiality and integrity are both rated High while availability is rated None, consistent with a traversal primitive aimed at reading secrets/config or planting content rather than a denial-of-service.

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

Endpoint is in the password-protected admin app so PR:H; network-reachable and low-complexity; read_file plus write_file gives high confidentiality and integrity impact, no direct availability impact.

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

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

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

Lifecycle Timeline

2
CVSS changed
Sep 22, 2026 - 15:22 NVD
6.5 (MEDIUM)
CVE Published
Sep 21, 2026 - 00:00 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

web2py 3.2.2-stable (commit a7330a2bf21219fa77860b6665de927dd4f98e6d) is vulnerable to Directory Traversal in read_file()/write_file() (applications/admin/controllers/webservices.py).

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Low
Niche Python web framework; limited, declining production footprint
Data Quality
6 sources
Confidence: High

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 No
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Total

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
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 N A

View all
CVE-2024-51092 CRITICAL POC
9.1 May 08

LibreNMS before 24.10.0 allows a remote attacker to execute arbitrary code via OS command injection involving AboutContr

CVE-2025-15684 MEDIUM POC
5.5 Aug 12

Reachable assertion in Open5GS up to version 2.7.6 allows remote unauthenticated attackers to crash the Diameter CER han

CVE-2024-45257 HIGH POC
7.3 May 08

A Command Injection issue in the payload build page in BYOB (Build Your Own Botnet) 2.0 allows attackers to execute arbi

CVE-2025-15687 LOW POC
2.1 Aug 12

Denial of service in Open5GS 2.7.6 and earlier allows network-adjacent attackers with low-privilege Diameter Gx peer acc

CVE-2025-15686 LOW POC
2.1 Aug 12

Denial of service in Open5GS HSS (Home Subscriber Server) versions 2.7.0 through 2.7.6 is triggered remotely by manipula

CVE-2025-67888 HIGH POC
7.3 May 08

Remote command injection in Control Web Panel allows unauthenticated attackers to execute arbitrary OS commands as root

CVE-2024-53326 HIGH POC
7.3 May 08

LINQPad before 5.52.01 Pro edition is vulnerable to Unsafe Deserialization in LINQPad.AutoRefManager::PopulateFromCache(

CVE-2026-38360 CRITICAL POC
9.8 May 08

Remote code execution in dash-uploader (Python package for Plotly Dash) versions 0.1.0 through 0.7.0a2 allows unauthenti

CVE-2026-30623 CRITICAL POC
9.8 Jul 15

Command injection in LiteLLM 1.18.10 lets attackers who can configure MCP (Model Context Protocol) servers supply arbitr

CVE-2026-67917 CRITICAL POC
9.8 Aug 17

SQL injection in AzuraCast's backup restore flow (versions up to and including 0.23.7) lets an attacker achieve privileg

CVE-2026-75337 CRITICAL POC
9.8 Aug 27

Arbitrary file read in Yu AI Code Mother v4.3 lets anonymous, remote attackers retrieve files outside the intended previ

CVE-2026-31072 CRITICAL POC
9.8 May 19

Remote code execution in APScheduler (all versions through 3.10.x and 4.0.0a5) is achievable when applications deseriali

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