Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as org-admin
-
ExploitCreate/rename org with '../../../../<path>' name
-
ExecutionTrigger __statisticsOrgs logo check
-
ImpactObserve logo flag as file-existence oracle
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 an authenticated MISP account with the privilege to create or rename an organisation (org-admin or site-admin), matching the vendor's PR:H. The attack is further limited by a critical precondition: the referenced logo directory (app/webroot/img/orgs) must exist for the file_exists() check to run at all - in current MISP deployments it does not, since org logos were moved to files/img/orgs, rendering the check dead and the vulnerability non-functional. Even when reachable, impact is confined to a boolean file-existence probe (confidentiality-only, VC:L) with no file read, write, or code execution. |
| Impact | This is a low-priority, largely theoretical issue despite the CWE-22 path-traversal classification. The vendor CVSS 4.0 vector (5.1, AV:N/AC:L/PR:H/UI:N/VC:L, all other impacts N) correctly reflects a confidentiality-only file-existence oracle requiring high privileges, and I concur with that low rating. The single most important mitigating signal is in the description itself: the vulnerable file_exists() check targeted app/webroot/img/orgs, a directory that no longer exists in current MISP deployments (org logos were relocated to files/img/orgs). The check was therefore functionally dead code and never triggered - meaning current installations are not actually exploitable; the fix hardens a latent pattern rather than closing an active hole. Exploitation additionally requires PR:H (an authenticated user able to create or rename an organisation, i.e. org-admin/site-admin). There is no EPSS score, no CISA KEV listing, and no public exploit code identified at time of analysis. Net: no public exploit identified, no active exploitation, and the flaw is unreachable in shipped configurations - this is defensive hardening, not an operational priority. |
| Exploit ScenarioDerived | An authenticated MISP user with organisation create/rename rights sets an organisation name to a traversal string such as '../../../../etc/passwd'; the __statisticsOrgs logo check would then call file_exists() on the resulting path and, only if the org-logo directory existed, reveal via the 'logo' flag whether that arbitrary file is present. In current MISP builds the referenced directory is absent, so the check never fires and nothing is disclosed. No public exploit code exists; the attack is a boolean file-existence oracle, not file read or code execution. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Path traversal (CWE-22) in MISP's __statisticsOrgs handler in UsersController.php allows an authenticated user holding the privilege to create or rename an organisation (org-admin or site-admin, consistent with the vendor's PR:H) to embed directory traversal sequences in an organisation name and turn the resulting file_exists() call into a boolean oracle for arbitrary file existence on the server. Impact is limited to low-confidentiality information disclosure: no file contents are read, written, or executed, and the vulnerable code path is effectively dead in current MISP deployments because the hard-coded directory app/webroot/img/orgs no longer exists (org logos were relocated to files/img/orgs), so the check never fires. No public exploit code has been identified at time of analysis, there is no CISA KEV entry indicating confirmed active exploitation, and the vendor has published an upstream fix in commit a2f7cba6e.
RemediationAI
Apply the vendor fix by updating MISP to a build that contains commit a2f7cba6e (https://github.com/MISP/MISP/commit/a2f7cba6e); note that the upstream fix is available as a PR/commit and a released patched version is not independently confirmed, so administrators should track the MISP release notes rather than assume a specific tag. The commit resolves organisation-logo candidates under files/img/orgs with realpath() and enforces a str_starts_with() base-directory prefix check, and looks up logos by id, name, or uuid in png and svg, eliminating the unsanitised org-name path concatenation. As interim compensating controls: restrict the ability to create or rename organisations to fully trusted site administrators only, since the attack requires that capability and PR:H already limits exploitation - the trade-off is reduced delegation of org management workflows; leave app/webroot/img/orgs absent or non-existent, because recreating it would reactivate the otherwise dead file_exists() branch; and constrain organisation names to a strict allowlist without path separators or '..' sequences, though MISP's normal UI flows generate names that make raw traversal payloads awkward to inject. Given the impact is confined to a boolean file-existence probe with no file read, write, or code execution, remediation can follow routine patching rather than emergency response.
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
MISP (Malware Information Sharing Platform), maintained by CIRCL and built on CakePHP/PHP, exposed a classic CWE-22 improper-limitation-of-a-pathname flaw in the private __statisticsOrgs() method of app/Controller/UsersController.php. The original code built a filesystem path by concatenating an attacker-influenced organisation name ($k) into APP . 'webroot' . DS . 'img' . DS . 'orgs' . DS . $k . '.png' and passing it to file_exists(), without canonicalisation, allowlisting, or a base-directory prefix check. That pattern is the root cause: any value containing traversal sequences such as '../../../../etc/passwd' would be resolved relative to the constructed prefix, letting the caller distinguish existing from non-existing files via the boolean result. The practical reachability is governed by a second factor: the referenced logo directory was moved out of webroot to files/img/orgs in earlier MISP releases, so app/webroot/img/orgs is absent in current deployments and the file_exists() check is functionally dead. The CPE cpe:2.3:a:misp:misp:*:*:*:*:*:*:*:* is a wildcard entry for all MISP versions, with no version-specific data supplied, so the exposure applies to any instance whose UsersController.php still carries the legacy check. The upstream commit a2f7cba6e rewrites the logic to resolve candidate logo paths under APP . 'files' . DS . 'img' . DS . 'orgs' . DS using realpath(), enforce that the resolved path is prefixed by the realpath'd base directory via str_starts_with(), and search by organisation id, name, and uuid across png and svg extensions (the patch also adds 'uuid' to the selected fields), which removes the unsanitised org-name concatenation from the path.
Know when Misp 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:H/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
PR:H because org create/rename is an admin-level capability; C:L only (file-existence oracle, no read); I:N/A:N as no integrity or availability impact, consistent with vendor 4.0.
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
DescriptionCVE.org
In MISP, the __statisticsOrgs method in UsersController.php used the organization name directly as a file-system path component when checking for the existence of an organization logo image. The original code called file_exists() with a path constructed as APP . 'webroot' . DS . 'img' . DS . 'orgs' . DS . $k . '.png', where $k is the organization name. Because the referenced directory (app/webroot/img/orgs) no longer exists in current MISP deployments (org logos were relocated to files/img/orgs), the check was functionally dead and never triggered. However, the underlying pattern-concatenating an attacker-influenced organization name into a file path without sanitization-constitutes a path traversal weakness. An organization name containing directory traversal sequences (e.g., '../../../../etc/passwd') would, if the target directory existed, allow an authenticated user with the ability to create or rename an organization to probe for the existence of arbitrary files on 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.
An issue was discovered in MISP 2.4.9x before 2.4.99. Rated high severity (CVSS 8.8), this vulnerability is remotely exp
An issue was discovered in MISP before 2.4.158. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo
app/Controller/Component/IndexFilterComponent.php in MISP before 2.4.167 mishandles ordered_url_params and additional_de
SQL injection in MISP threat intelligence platform versions prior to 2.5.37 allows remote unauthenticated attackers to m
An issue was discovered in MISP before 2.4.158. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitab
MISP 2.4.172 mishandles different certificate file extensions in server sync. Rated high severity (CVSS 7.5), this vulne
In MISP before 2.4.148, app/Lib/Export/OpendataExport.php mishandles parameter data that is used in a shell_exec call. R
An issue was discovered in app/Controller/UsersController.php in MISP 2.4.92. Rated critical severity (CVSS 9.8), this v
An issue was discovered in MISP 2.4.128. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
MISP before 2.4.135 lacks an ACL check, related to app/Controller/GalaxyElementsController.php and app/Model/GalaxyEleme
app/View/Elements/genericElements/IndexTable/Fields/generic_field.ctp in MISP 2.4.144 does not sanitize certain data rel
MISP 2.4.148, in certain configurations, allows SQL injection via the app/Model/Log.php $conditions['org'] value. Rated
EUVD-2026-84496
GHSA-c7hm-qgxh-6vgg
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB