CVE-2026-70374

HashBrown CMS - OS Command Injection in Media Upload Thumbnail Generation

Published Aug 5, 2026 CVSS 3.1 · 8.8 High EPSS 1.9% KEV · Not listed
Description
HashBrown CMS through 1.4.6 contains an OS Command Injection vulnerability (CWE-78) in the media upload thumbnail generation routine. Media.generateThumbnail in src/Server/Entity/Resource/Media.js builds a temporary file path as 'thumbnail' + Path.extname(filename) and passes it, unescaped, into a shell command executed via AppService.exec ('convert ' + tempFile + ...).

Analysis

AI-generated

Technical impact

HashBrown CMS through 1.4.6 contains an OS Command Injection vulnerability (CWE-78) in the media upload thumbnail generation routine. The vulnerability arises when Media.generateThumbnail builds a temporary file path as 'thumbnail' plus the file extension and passes it without proper escaping into a shell command executed via AppService.exec. This flaw allows an attacker to inject arbitrary OS commands via a crafted filename during media upload.

Affected Systems

The affected product is HashBrownCMS (hashbrown-cms) through version 1.4.6. No other vendors or products are listed in the CNA data.

Risk and Exploitability

The flaw is highly critical and permits remote code execution for any authenticated user possessing the media resource scope. Based on the description, it is inferred that the attacker must be authenticated to access the media upload endpoint, and the attack vector is an authenticated POST to /api/{project}/{environment}/media/new with a malicious filename. The EPSS score, now noted as < 1%, indicates a very low but nonzero probability of exploitation, and the vulnerability is not listed in CISA’s KEV catalog. The CVSS score of 8.8 underscores the high severity, and the lack of mitigation in the affected release confirms a high to critical risk.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade HashBrownCMS to a version newer than 1.4.6 that corrects the command‑execution flaw.
  • If an upgrade is delayed, deny or tightly restrict write access to the media upload endpoint so that only trusted administrators can upload files.
  • Modify the upload handling code to validate file extensions against a strict whitelist or escape all user‑supplied filename components before building the shell command.

Generated by OpenCVE AI on August 11, 2026 at 23:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Description HashBrown CMS through 1.4.6 contains an OS Command Injection vulnerability (CWE-78) in the media upload thumbnail generation routine. Media.generateThumbnail() in src/Server/Entity/Resource/Media.js builds a temporary file path as 'thumbnail' + Path.extname(filename) and passes it, unescaped, into a shell command executed via AppService.exec() ('convert ' + tempFile + ...). The MIME-type filter in getMIMEType() (src/Common/utilities.js) truncates the extracted extension at the first '?' character, while Path.extname() does not, allowing a filename such as 'x.jpg?$(command)' to pass the image-type check while still injecting a shell command substitution into the exec() call. An authenticated user holding the media resource scope can achieve arbitrary OS command execution in the context of the Node.js process via POST /api/{project}/{environment}/media/new. HashBrown CMS through 1.4.6 contains an OS Command Injection vulnerability (CWE-78) in the media upload thumbnail generation routine. Media.generateThumbnail in src/Server/Entity/Resource/Media.js builds a temporary file path as 'thumbnail' + Path.extname(filename) and passes it, unescaped, into a shell command executed via AppService.exec ('convert ' + tempFile + ...).
Type Values Removed Values Added
Title HashBrown CMS: OS Command Injection in Media Upload Thumbnail Generation HashBrown CMS - OS Command Injection in Media Upload Thumbnail Generation
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

Type Values Removed Values Added
First Time appeared Hashbrowncms
Hashbrowncms hashbrown Cms
Vendors & Products Hashbrowncms
Hashbrowncms hashbrown Cms
Type Values Removed Values Added
Description HashBrown CMS through 1.4.6 contains an OS Command Injection vulnerability (CWE-78) in the media upload thumbnail generation routine. Media.generateThumbnail() in src/Server/Entity/Resource/Media.js builds a temporary file path as 'thumbnail' + Path.extname(filename) and passes it, unescaped, into a shell command executed via AppService.exec() ('convert ' + tempFile + ...). The MIME-type filter in getMIMEType() (src/Common/utilities.js) truncates the extracted extension at the first '?' character, while Path.extname() does not, allowing a filename such as 'x.jpg?$(command)' to pass the image-type check while still injecting a shell command substitution into the exec() call. An authenticated user holding the media resource scope can achieve arbitrary OS command execution in the context of the Node.js process via POST /api/{project}/{environment}/media/new.
Title HashBrown CMS: OS Command Injection in Media Upload Thumbnail Generation
Weaknesses CWE-78
References
Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

Sources

Status
PUBLISHED
Assigner
TuranSec
Published
Updated
Aug 10, 2026, 11:44 AM
Reserved
Aug 4, 2026, 7:13 AM
Status
Deferred
Published
Aug 5, 2026, 7:16 AM
Modified
Oct 24, 2026, 4:10 PM