Skip to main content

HortusFox EUVDEUVD-2026-95792

| CVE-2026-108101 HIGH
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-10-09 VulnCheck GHSA-m2c2-px87-9hp9
7.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with low-privilege account
  2. Delivery
    Upload malicious SVG/HTML/PHP via /plants/attachments/add
  3. Exploit
    File stored with client extension under public/attachments/
  4. Execution
    Victim opens attachment or server executes PHP
  5. Impact
    Steal admin session or run arbitrary code

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V5 - File Handling File type validation, storage isolation
MITRE ATT&CK

2 techniques across 2 tactics: Command and Control, Persistence

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 HortusFox account with access to the plant-attachment feature (PR:L) and the ability to reach /plants/attachments/add; the attacker uploads a file whose client-supplied extension is preserved and stored under the web-served public/attachments/ directory. Stored-XSS exploitation (HTML/SVG) additionally requires a victim user or administrator to open the attachment. The full remote-code-execution path is gated by a specific deployment condition - the .htaccess restrictions in public/attachments/ must be unenforced (e.g., Apache with AllowOverride disabled, or a server such as Nginx that ignores .htaccess), allowing an uploaded .php file to be executed. Limiting factors: valid credentials are mandatory, RCE depends on a non-default/misconfigured web server, and the XSS path depends on victim interaction, all of which narrow realistic exploitation below the raw CVSS score.

Impact

The input provides a CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N, base 7.7, HIGH). Key signals: attack vector is network (AV:N) with low complexity (AC:L), but exploitation requires low privileges (PR:L) - i.e., an authenticated account - and carries an Attack Requirement (AT:P), which maps directly to the description's caveat that the PHP-to-code-execution path only works 'where .htaccess is unenforced.' No EPSS score was supplied, so exploitation probability cannot be quantified. This is NOT in CISA KEV (no KEV signal in input), so there is no confirmed active exploitation. No exploit-code flag was provided, though a public technical write-up on hackmd documents the stored-XSS path, lowering the practical barrier to reproduction. The signals are internally consistent - the HIGH-impact VC/VI/VA:H reflects the realistic code-execution outcome, but AT:P and PR:L correctly temper it: this is not an unauthenticated internet-wide worm candidate. Net judgment: a genuine but conditional priority - high impact for operators running HortusFox with semi-trusted or multi-user access, materially de-rated by the authentication requirement, the misconfiguration dependency for full RCE, and the product's small deployment footprint. Treat as a 'patch promptly if you run it' issue rather than an emergency fleet-wide item.

Exploit ScenarioDerived

An authenticated low-privilege HortusFox user (or an attacker who has obtained any valid account) uploads a crafted SVG or HTML file as a plant attachment via /plants/attachments/add; because the file retains its client-supplied extension and is stored under the web-served public/attachments/ directory, it executes as stored XSS when another user or administrator opens it, enabling session theft or admin takeover. On deployments where .htaccess restrictions are not enforced (e.g., Nginx or Apache with AllowOverride off), the same flaw lets the attacker upload a .php file and achieve remote code execution. A public technical write-up describing the stored-XSS path exists, but no weaponized exploit tool is confirmed in the input.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 09, 2026

Stored cross-site scripting and potential remote code execution in HortusFox (hortusfox-web) through version 6.3 allow authenticated users to upload files with client-supplied extensions via the plant attachment feature, which are stored under the web-accessible public/attachments/ directory. Uploaded HTML or SVG files lead to stored XSS when a victim opens them, while uploaded PHP files can execute code on servers where .htaccess restrictions are unenforced, though this RCE path requires a non-default misconfiguration. No public exploit code has been identified at time of analysis, although a public technical write-up demonstrating the stored XSS is referenced. The CVSS 4.0 base score is 7.7 (High), and an independent CVSS 3.1 assessment rates it High with C:H/I:H/A:H.

RemediationAI

Patch available per vendor advisory. Upgrade HortusFox to a version later than 6.3 (check the vendor advisory for the exact fixed release). If immediate upgrade is not possible, mitigate the RCE risk by disabling PHP execution in the public/attachments/ directory via web server configuration (e.g., Apache: <FilesMatch '\.php$'> Require all denied </FilesMatch> within the directory, or Nginx: location ~* /attachments/.*\.php$ { deny all; }), but this may not prevent XSS. To mitigate stored XSS, serve user-uploaded files with Content-Disposition: attachment and a non-renderable Content-Type (e.g., application/octet-stream), or host attachments on a separate domain; however, these measures can affect legitimate file preview functionality. Restricting uploads to a whitelist of safe extensions (e.g., images only) in the PlantAttachmentModel is recommended, but may limit legitimate use cases. Disabling the plant attachment feature entirely is a last resort. Always enforce .htaccess by setting AllowOverride All in Apache configurations, though this is not applicable to Nginx. Refer to the vendor advisory at https://github.com/danielbrendel/hortusfox-web/security/advisories/GHSA-8phf-v3xj-8jjg for official guidance.

Affected VersionsENISA

hortusfox-web 0 ≤6.3

Affected Packages

euvd hortusfox_web no fix

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

The vulnerability lies in the PlantAttachmentModel of HortusFox (hortusfox-web), a PHP-based plant management application. The model fails to validate or sanitize the file extension submitted by the client, allowing an authenticated user to store files with arbitrary extensions (e.g., .html, .svg, .php) in the public/attachments/ directory, which is served by the web server. This is a classic CWE-434 (Unrestricted Upload of File with Dangerous Type) issue. The stored XSS path exploits the browser's rendering of HTML or SVG files; the RCE path relies on the web server executing uploaded PHP files when .htaccess protections are not enforced, such as Apache with AllowOverride None or Nginx which ignores .htaccess files. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N) indicates network exploitable, low complexity, but with attack requirements (AT:P) reflecting the need for a specific deployment condition for RCE. The independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) confirms high confidentiality, integrity, and availability impact for an authenticated attacker. The affected CPE is cpe:2.3:a:danielbrendel:hortusfox-web:*:*:*:*:*:*:*:* (all versions through 6.3).

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 (VulnCheck) PRIMARY 7.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Authenticated low-privilege user (PR:L) uploads over the network (AV:N/AC:L) achieving code execution (C/I/A:H); the .htaccess dependency for the RCE path is a configuration requirement rather than added attack complexity here.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

HortusFox (hortusfox-web) through 6.3 contains an unrestricted file upload vulnerability in PlantAttachmentModel that allows authenticated users to store files with client-supplied extensions under public/attachments/. Attackers can upload HTML or SVG files via /plants/attachments/add for stored cross-site scripting, or PHP files where .htaccess is unenforced to execute code.

Technical POC Analysis

CWE-434 (Unrestricted Upload of File with Dangerous Type).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

HortusFox (hortusfox-web) versions up to 6.3 contain a stored cross-site scripting vulnerability that can lead to remote code execution under specific server misconfigurations. Organizations using this plant management platform for internal or external collaboration are at risk of session hijacking, data theft, and potential server compromise if a malicious file is uploaded and opened by a victim. Leadership should prioritize mitigation because no vendor-released patch is identified at time of analysis, leaving the system exposed until compensating controls are enforced.

Business Impact: High
Compensating Controls

Disable the plant attachment feature if not essential; enforce .htaccess restrictions and disable PHP execution in the public/attachments directory; implement a whitelist of allowed file extensions (e.g., .jpg, .png); deploy WAF rules to block uploads with .html, .svg, or .php extensions; and monitor logs for suspicious file uploads.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Low
niche self-hosted open-source plant/garden manager, small user base
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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Open
Automatable· derived
No
Human Impact
High

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
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.

Malicious file upload attacks exploit insufficient validation when web applications accept user-provided files.

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