Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify UnoPim admin behind shared cache
-
DeliverySend request with spoofed X-Forwarded-Host
-
ExploitResponse poisons cached admin layout
-
ExecutionAdmin loads cached page, base-url points to attacker
-
PersistAttacker JS runs in authenticated admin session
-
ImpactSession/frontend takeover
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication IP-independent access control
|
| Exploitation Conditions | Exploitable only when UnoPim (before 2.0.1 / 2.1.1) is deployed behind a shared caching proxy or CDN that caches admin layout responses, because the vulnerable code called trustProxies(at: '*') and honored the X-Forwarded-Host header without validation. The attacker needs no authentication or special privileges to inject the poisoned header, but exploitation depends on two limiting factors: (1) a shared cache must store the attacker-influenced response (reflected in CVSS 4.0 AT:P), and (2) a legitimate administrator must subsequently load the poisoned/cached admin page for the injected JavaScript origin to execute (UI:P). Deployments where admin responses are not cached by a shared proxy, or where the edge already strips X-Forwarded-* headers, are effectively not exploitable. |
| Impact | This is a genuine but conditional flaw, not a high-severity emergency. The vendor CVSS 4.0 base score is only 2.3, driven by AT:P (a specific attack requirement - a shared/caching proxy in front of the app) and UI:P (an administrator must subsequently load the poisoned page), with only subsequent-system impact (SC:L/SI:L) and no direct vulnerable-system impact (VC:N/VI:N/VA:N). PR:N confirms the attacker themselves needs no authentication. No EPSS score is provided, there is no CISA KEV listing, and no public exploit code is referenced - so exploitation status is 'no public exploit identified at time of analysis' despite a VulnCheck advisory documenting the mechanism. The 'RCE' tag overstates the impact: the root cause (CWE-348, trusting X-Forwarded-Host because bootstrap/app.php called trustProxies(at: '*')) yields client-side JavaScript execution in an administrator's authenticated browser session via cache poisoning - a frontend/session-takeover / stored-XSS-class outcome, not server-side remote code execution, which is why the CVSS impact metrics are all N or L. Real-world risk is concentrated on deployments that sit behind a shared caching layer (CDN or reverse proxy that caches admin layout responses); without such caching, the poisoning does not propagate to other admins. Net: legitimate to patch, but a moderate/low priority rather than a critical, and the raw 'RCE' framing should not drive urgency beyond what the CVSS and preconditions justify. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a request to the UnoPim admin login/layout page with a forged X-Forwarded-Host header (e.g. evil.example.com), which the app trusts because it treated all clients as proxies. The response - with the base-url/asset origin rewritten to the attacker's host - is stored by a shared front-end cache, so the next administrator who loads that cached admin page has their browser fetch and execute attacker-controlled JavaScript within their authenticated session. No public PoC is referenced, though VulnCheck has published an advisory describing the cache-poisoning technique. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 29, 2026
Cache poisoning in UnoPim before 2.0.1 and 2.1.x before 2.1.1 allows unauthenticated remote attackers to inject an arbitrary origin into admin layout pages by sending a crafted X-Forwarded-Host header, because the application trusts every connecting client as a proxy and never validates the header. When a shared caching proxy or CDN stores the poisoned admin response, a subsequent administrator loading that page has the admin UI's JavaScript assets resolved from the attacker's server, executing attacker-supplied code inside an authenticated session. Exploitation is conditional - it requires an intermediary cache in front of admin responses and an administrator visiting the poisoned page (assessed CVSS 3.1 AV:N/AC:H/PR:N/UI:R/S:C, with limited confidentiality and integrity impact), no public exploit code or confirmed active exploitation was identified at time of analysis, and the CVSS 4.0 base score is 2.3.
RemediationAI
Vendor-released patch: upgrade to UnoPim 2.0.1 or 2.1.1, which contain upstream fix commit 77e33618df5ba82fc9c9a32d137368e5bbe5ac9c; the release artifacts are at https://github.com/unopim/unopim/releases/tag/v2.0.1 and https://github.com/unopim/unopim/releases/tag/v2.1.1. After upgrading, set the new TRUSTED_PROXIES environment variable to the explicit IP list or CIDR ranges of your load balancers (the code defaults to 127.0.0.1 if unset, so deployments behind an unlisted proxy must opt in or forwarded client information will be ignored) and optionally TRUSTED_HOSTS for extra hostnames beyond APP_URL - and ensure APP_URL is set correctly, because trustHosts rejects any host not matching APP_URL or TRUSTED_HOSTS with an HTTP 400. If immediate upgrade is not possible: (1) configure the CDN/edge to strip or overwrite X-Forwarded-Host and X-Forwarded-Proto before forwarding to UnoPim, which fully removes the injection primitive at the cost of losing the original Host context in logs; (2) set admin routes to Cache-Control: private, no-store so shared caches cannot store poisoned admin HTML, trading away cache performance for safety; (3) restrict admin panel access to trusted networks/VPN to reduce the chance an administrator loads a poisoned cached page. Finally, purge any cached admin layout responses from the CDN/shared cache, since previously poisoned entries will remain exploitable until evicted or invalidated.
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
UnoPim is a Laravel-based open-source PIM/e-commerce platform. The flaw is CWE-348 (Use of Less Trusted Source): Laravel's HTTP kernel middleware was configured with trustProxies(at: '*'), so Symfony's Request object treated every client, including arbitrary internet hosts, as a trusted reverse proxy and therefore honoured the client-supplied X-Forwarded-Host (and X-Forwarded-Proto) headers when reconstructing the request host. Admin Blade layout templates derived their <meta name="base-url"> value from url()->to('/') and asset()/Vite helpers, which resolve against the request host - so a spoofed X-Forwarded-Host caused the rendered admin pages to reference scripts from the attacker's origin; the same pattern appears in the TinyMCE component's document_base_url. Combined with a shared cache that keys responses without varying on X-Forwarded-Host, the poisoned page is stored and served to other users, turning a reflected header-injection into a cached, session-wide script-origin hijack. The upstream fix (commit 77e33618) replaces the wildcard proxy trust with a TRUSTED_PROXIES allowlist (defaulting to 127.0.0.1), adds trustHosts validation against APP_URL/TRUSTED_HOSTS so Symfony returns HTTP 400 for unexpected hosts, and pins base-url/asset resolution to config('app.url'); a regression test asserts that spoofed Host and X-Forwarded-Host headers no longer leak into rendered markup. Note that the 'RCE' tag on this record refers to attacker JavaScript executing in the administrator's browser, not to server-side code execution on the UnoPim host.
Know when Unopim 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:P/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Network header injection needs a shared cache and an admin visit (AC:H, UI:R); attacker is unauthenticated (PR:N); code runs in the admin's browser context (S:C) with limited confidentiality/integrity impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
UnoPim versions before 2.0.1 and 2.1.1 trust all connecting clients as proxies and honor the X-Forwarded-Host header without validation, allowing unauthenticated attackers to inject arbitrary origins into admin layout pages. Attackers can set X-Forwarded-Host to redirect JavaScript asset loading to their server, and when responses are cached by shared proxies, subsequent administrators execute attacker-supplied code in their authenticated sessions.
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
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
Authenticated administrators in UnoPim before version 2.1.5 can achieve full server-side remote code execution by upload
UnoPim 0.1.3 and below is vulnerable to Cross Site Scripting (XSS) in the Create User function. Rated medium severity (C
UnoPim is an open-source Product Information Management (PIM) system built on the Laravel framework. Rated medium severi
Integration management routes in UnoPim before 2.1.3 are absent from the application's ACL map, meaning the Bouncer midd
UnoPim is an open-source Product Information Management (PIM) system built on the Laravel framework. Rated low severity
UnoPim is an open-source Product Information Management (PIM) system built on the Laravel framework. Rated high severity
UnoPim is an open-source Product Information Management (PIM) system built on the Laravel framework. Rated medium severi
UnoPim is an open-source Product Information Management (PIM) system built on the Laravel framework. Rated high severity
UnoPim is an open-source Product Information Management (PIM) system built on the Laravel framework. Rated high severity
EUVD-2026-89023
GHSA-2jxw-296x-mgxh
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB