Skip to main content

FOG Project EUVDEUVD-2026-46417

| CVE-2026-47689 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-07-21 GitHub_M
5.2
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Discover registered host MAC via ARP scan
  2. Delivery
    POST crafted inventory payload to /service/inventory.php
  3. Exploit
    Malicious value stored unescaped in FOG database
  4. Execution
    Administrator opens Group Inventory tab
  5. Persist
    Payload executes in admin browser context
  6. Impact
    Session token or admin action hijacked

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must have network adjacency to the FOG server's HTTP service (AV:A) - /service/inventory.php is an internally-facing endpoint, so purely internet-origin exploitation is blocked unless the endpoint is explicitly exposed. The attacker must know at least one MAC address of a registered FOG host; this is obtainable via passive ARP observation or active LAN scanning on the same subnet and represents only a minor barrier. No authentication or session token is required to POST to the inventory endpoint. Execution of the stored payload is deferred and depends on an authenticated administrator opening the Group Inventory tab (UI:R), making timing non-deterministic. Limiting factors are: network adjacency requirement (blocks remote-only attackers), the MAC address prerequisite (low but non-zero bar), and the admin-interaction trigger (payload may remain dormant if the tab is infrequently visited).

Impact

The CVSS 3.1 base score of 4.6 (Medium) reflects an adjacent network vector (AV:A), no authentication required to submit payloads (PR:N), and a mandatory administrator interaction trigger (UI:R). The adjacent-only vector is a material constraint - the attacker must be able to reach the FOG server's HTTP endpoint, which is typically on an internal imaging VLAN; however, if FOG is dual-homed or exposed to a broader LAN, the realistic attack surface expands significantly. The attack is asynchronous: the attacker submits the payload and waits for an admin to render the Group Inventory tab, creating a persistent threat rather than a one-shot exploit. No EPSS score was provided in the input data, KEV listing is not confirmed, and no POC has been referenced in available advisory materials. The limited C:L/I:L impact ratings reflect the browser-context nature of XSS - direct server-side data access is not implied. The MAC address prerequisite is a minor bar, since MAC addresses are discoverable via passive ARP observation or active LAN scanning. Real-world priority is moderate for internet-adjacent FOG deployments and lower for strictly air-gapped imaging networks.

Exploit ScenarioDerived

An attacker on the same network segment as the FOG server performs ARP scanning to discover the MAC address of a registered imaging host, then sends a crafted HTTP POST to /service/inventory.php with a JavaScript payload embedded in the sysproduct field. The malicious value is stored in the FOG database without sanitization, and when an administrator next opens the Group Inventory tab, the payload executes silently in the admin's browser, allowing the attacker to exfiltrate the session token or perform actions within the admin interface. No public exploit code has been identified at time of analysis, though the technique is well-understood by anyone familiar with stored XSS.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 21, 2026

Stored cross-site scripting in FOG Project's inventory pipeline allows an unauthenticated network-adjacent attacker who knows any registered host's MAC address to inject persistent JavaScript payloads into the FOG database via POST requests to /service/inventory.php. When an administrator opens the Group Inventory tab, the unescaped payload executes in their browser, enabling session hijacking or unauthorized admin-level actions. No public exploit has been identified at time of analysis; patches are available in versions 1.5.10.1832 (stable) and 1.6.0-beta.2313 (beta).

RemediationAI

Upgrade FOG Project to version 1.5.10.1832 (stable) or 1.6.0-beta.2313 (beta), which introduce HTML escaping in the buildRow() rendering path; details are at https://github.com/FOGProject/fogproject/security/advisories/GHSA-fqgf-j2gh-92cm. If immediate upgrade is not feasible, restrict POST access to /service/inventory.php via firewall ACLs or web server location blocks to allow only IP addresses of known imaging hosts - this prevents unauthenticated payload injection but will block inventory collection from any unallowlisted host, so the allowlist must be maintained carefully. As a secondary control, limit admin access to the Group Inventory tab to sessions originating from trusted management networks, reducing the window in which a stored payload can fire.

Affected VersionsENISA

fogproject < 1.5.10.1832
fogproject < 1.6.0-beta.2313

Affected Packages

euvd fogproject fix: 1.5.10.1832, 1.6.0-beta.2313

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

FOG Project (CPE: cpe:2.3:a:fogproject:fogproject:*:*:*:*:*:*:*:*) is a PHP-based open-source network imaging and inventory management system widely used in educational institutions and SMB IT departments. The vulnerability is rooted in CWE-79 (Improper Neutralization of Input During Web Page Generation). Specifically, the buildRow() method in fogpage.class.php uses PHP's str_replace() to substitute database-sourced values into HTML table cell templates without applying any htmlspecialchars() or equivalent encoding. The /service/inventory.php endpoint accepts unauthenticated POST requests carrying inventory fields such as sysproduct and sysserial, which are designed to be submitted by FOG imaging agents on the network and are stored verbatim in the database. Because no sanitization occurs at either ingestion or render time, attacker-controlled values survive to execution when rendered in the admin panel's Group Inventory tab.

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

Vendor (GitHub_M) PRIMARY MEDIUM
NVD 5.2 MEDIUM
AV:A/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
vuln.today AI 4.6 MEDIUM

AV:A reflects the internally-facing inventory endpoint; PR:N because no authentication is required to POST inventory data; UI:R because the XSS payload only fires when an admin views the Group Inventory tab.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
CVSS changed
Aug 07, 2026 - 14:07 NVD
4.6 (MEDIUM) 5.2 (MEDIUM)
Patch available
Jul 21, 2026 - 23:36 EUVD

DescriptionNVD

FOG is a free open-source cloning/imaging/rescue suite/inventory management system. Prior to versions 1.5.10.1832 and 1.6.0-beta.2313, the buildRow() method in fogpage.class.php substitutes data values into HTML table cell templates using str_replace() without any HTML escaping. An unauthenticated attacker who knows any registered host's MAC address can POST malicious inventory values (e.g. sysproduct, sysserial) to /service/inventory.php, which stores them in the database. When an administrator opens the Group Inventory tab, the payload renders as executable HTML/JavaScript in the admin's browser. Versions 1.5.10.1832 and 1.6.0-beta.2313 fix the issue.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche open-source imaging tool, primarily schools and SMB IT shops
Data Quality
5 sources
Confidence: Medium

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 Yes
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· derived
None
System Exposure· derived
Controlled
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

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

CVE-2012-1823 CRITICAL POC
9.8 May 11

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

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

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

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

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

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

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