Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend request with ../ in dw/history/img param
-
ExploitPath resolves outside upload directory
-
ImpactRead allowed-extension file from server
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 authentication, user interaction, or special configuration is required: a single crafted HTTP request to app/down.php, app/thumb.php, or app/info.php with '../' sequences in the dw, history, or img parameter triggers the traversal against a default EasyImages2.0 (≤2.8.6) install. The primary LIMITING factor is that the application only returns files whose extension is in the allowed upload-extension set, so disclosure is restricted to files bearing an allowed image extension rather than arbitrary server files; deployment must also expose these PHP endpoints to the attacker (direct or proxied web access). |
| Impact | This is a medium-severity, unauthenticated remote information-disclosure flaw, and the signals are internally consistent rather than conflicting. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms network-reachable, low-complexity, no-authentication, no-user-interaction exploitation, which matches the description's 'unauthenticated path traversal'. However, impact is deliberately bounded: VC:L with VI:N/VA:N, and the description states that only files 'with allowed upload extensions' can be read - so this is NOT arbitrary file disclosure of sensitive OS files like /etc/passwd or application secrets unless those happen to carry an allowed image extension. That extension allowlist is the single most important risk-limiting factor and is why the score lands at 6.9 (medium) rather than critical. No EPSS score was provided, so statistical exploitation probability cannot be weighed; the CVE is NOT in CISA KEV, so there is no evidence of active exploitation. The vuln.today decision label is 'this_month' (not act_now/emergency), aligning with a real-but-non-emergency priority. A PoC/report reference exists (GitHub issue #286 and a VulnCheck advisory) but the input does not confirm it as working weaponized exploit code. Net: a genuine, easy-to-exploit but low-impact disclosure bug on a niche self-hosted product - worth patching this cycle, not a drop-everything incident. |
| Exploit ScenarioDerived | A remote attacker with no account sends a crafted HTTP request to app/down.php (or thumb.php/info.php) placing '../' sequences in the dw, history, or img parameter, causing the application to resolve a path outside the intended upload directory and return a file that carries an allowed upload extension. A public PoC reference exists (GitHub issue #286 / VulnCheck advisory); it is not verified as working exploit code. Because exploitation needs only a single unauthenticated request against a default install, it is trivial to automate, though the extension allowlist limits what can actually be exfiltrated. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Unauthenticated path traversal in EasyImages2.0 (versions 0 through 2.8.6) lets a remote attacker read files outside the configured upload directory by sending '../' sequences in the dw, history, or img parameter of app/down.php, app/thumb.php, or app/info.php. No credentials, user interaction, or special configuration are required against a default install, but disclosure is bounded: the application only serves files whose extension is in the allowed upload-extension set, so exposure is limited to files carrying an image-like extension rather than arbitrary server files, which is why the impact is scored as low confidentiality only (CVSS v4.0 6.9; assessed CVSS:3.1 6.9 with C:L). The flaw is tracked as EUVD-2026-110844 and reported by VulnCheck; no public exploit code has been identified at time of analysis and the issue is not in CISA KEV, with the vuln.today priority label indicating remediation this month.
RemediationAI
The upstream vendor fix is commit e337a2b (https://github.com/icret/EasyImages2.0/commit/e337a2bee7e7c67eb90bc4364a345c0857cb73aa), which adds the resolve_image_path() containment helper and applies it to the affected file-access paths; a released tagged version carrying this fix is not identified in the available data, so confirm the patch level against the vendor advisory (https://www.vulncheck.com/advisories/easyimages2-0-through-2.8.6-unauthenticated-path-traversal-via-down-php-thumb-php-and-info-php) or the project repository before considering an install remediated. If the commit cannot be deployed immediately, restrict external access to app/down.php, app/thumb.php, and app/info.php at the web server or reverse proxy, accepting that download, thumbnail, and image-metadata functionality breaks for legitimate users; alternatively deploy request filtering that rejects dw, history, or img values containing '..' or encoded dot sequences, understanding that such rules must cover URL-encoded and double-encoded variants to be effective. Because the residual exposure is limited to files bearing an allowed image extension, also avoid storing image-extension files containing sensitive data inside the web root, and note these are compensating measures only - the resolve_image_path() canonicalization in the upstream commit is the actual removal of the traversal condition.
Affected VersionsENISA
Affected Packages
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
EasyImages2.0 is a PHP-based image hosting application (CWE-22, path traversal) whose download, thumbnail, and metadata endpoints build filesystem paths by concatenating a user-supplied parameter onto the storage directory: app/down.php consumes 'dw', app/thumb.php consumes 'history', and app/info.php consumes 'img', and the vulnerable code at app/down.php lines 17-49 in tag 2.8.6 shows the pre-fix construction. Because the resulting path is not canonicalized and checked for containment within the storage root, '../' sequences escape the upload directory, and any resulting file whose extension is in the application's allowed upload-extension list is returned to the requester - an extension allowlist is the only residual barrier, and the trigger otherwise requires just one crafted HTTP request. The upstream fix commit e337a2b introduces a resolve_image_path() hardening helper that canonicalizes candidate paths and returns explicit 'traversal'/'outside' error states, then rewires callers to it: admin/admin.inc.php now rejects directory deletions outside storage, app/del.php returns HTTP 403 for traversal or outside paths, app/compressing.php restricts compression to directories inside the storage root, and app/compress/function.compress.php drops its '..' prefix construction and escapes echoed paths. The supplied diff excerpt does not include the specific hunks for app/down.php, app/thumb.php, and app/info.php, so the exact per-endpoint fix is inferred from the shared helper rather than directly observed.
Know when PHP 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Unauthenticated, low-complexity, network-reachable with no user interaction (AV:N/AC:L/PR:N/UI:N); confidentiality only Low because disclosure is restricted to allowed-extension files, with no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
EasyImages2.0 through 2.8.6 contains an unauthenticated path traversal vulnerability in app/down.php, app/thumb.php and app/info.php that allows reading files outside the upload directory. Attackers can supply ../ sequences in the dw, history or img parameters to read files with allowed upload extensions from the server.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-110844
GHSA-59pp-4mv4-4j8f
NVD
CVE.org
EPSS
Exploit-DB