e107 CMS
CVE-2026-48997
HIGH
Severity by source
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:H
Network-reachable via news submission (AV:N); five non-default prefs plus class membership justify AC:H; requires authenticated non-admin (PR:L); shell RCE as web user yields full CIA impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
e107 is a content management system (CMS). Versions 2.3.5 and earlier contain a command injection vulnerability in the ImageMagick resize destination path. In resize_image(), the source path is escaped with escapeshellarg(), but the destination path is inserted inside raw double quotes in the convert command; in the submit-news upload flow, that destination filename includes the first six characters of user-controlled news title input. Because the title filter removes literal spaces but not tab characters, and shell expansions such as $(...) and backticks can survive into the quoted destination argument, /bin/sh -c may evaluate attacker-controlled input. Exploitation is possible only when all of the following non-default settings are enabled: resize_method=ImageMagick, subnews_attach=1, upload_enabled=1, subnews_resize is numeric between 30 and 5000, and the attacker is a non-admin in classes permitted by both subnews_class and upload_class. This issue has been fixed in version 2.3.6.
AnalysisAI
Command injection in e107 CMS versions 2.3.5 and earlier allows authenticated low-privilege users to execute arbitrary shell commands as the web server user via the news submission upload flow. The flaw lives in resize_image() where the ImageMagick convert destination path embeds a 6-character slice of the user-controlled news title without shell escaping, letting tab characters and $(...) / backtick expansions reach /bin/sh -c. No public exploit identified at time of analysis, and exploitation requires a specific non-default configuration combination.
Technical ContextAI
e107 is an open-source PHP content management system. The vulnerable code path is resize_image() in the media-handling subsystem, which builds an ImageMagick 'convert' command line. While the source path is sanitized via PHP's escapeshellarg(), the destination filename - which incorporates the first six characters of the submitted news title - is interpolated inside raw double quotes. The CMS title filter strips literal space characters but leaves tab (\t) intact, so an attacker can break tokenization inside the quoted string and inject shell metacharacters such as $(cmd) or cmd, which /bin/sh -c expands before convert is invoked. This is a classic CWE-78 OS Command Injection rooted in inconsistent argument escaping (escapeshellarg on one operand, manual quoting on another). The affected CPE is cpe:2.3:a:e107inc:e107:*:*:*:*:*:*:*:* for all 2.x branches up to and including 2.3.5.
RemediationAI
Vendor-released patch: e107 v2.3.6 - upgrade from any 2.x release at or below 2.3.5 via https://github.com/e107inc/e107/releases/tag/v2.3.6 (commit 794a179f hardens the convert destination path). If immediate upgrade is not possible, neutralize the attack surface by changing any one of the gating preferences: set resize_method to GD instead of ImageMagick, set subnews_attach=0 to disable image attachments on news submission, set upload_enabled=0 to disable user uploads (this also blocks legitimate reader uploads site-wide), set subnews_resize outside the 30-5000 numeric range, or tighten subnews_class / upload_class so only trusted admins can submit news with attachments (side effect: removes the reader-news contribution workflow). Consult the full advisory at https://github.com/e107inc/e107/security/advisories/GHSA-3j33-c9v4-4p42 before deploying workarounds.
e107 CMS 3.2.1 has multiple XSS vulnerabilities in news comments that allow executing arbitrary JavaScript. Rated CVSS 9
usersettings.php in e107 through 2.3.0 lacks a certain e_TOKEN protection mechanism. Rated high severity (CVSS 8.8), thi
e107 2.1.8 has CSRF in 'usersettings.php' with an impact of changing details such as passwords of users including admini
e107 CMS 2.3.0 contains a remote code execution vulnerability that allows authenticated users with theme installation pe
e107 CMS version 3.2.1 contains a critical file upload vulnerability that allows authenticated administrators to overrid
e107 2.1.1 allows SQL injection by remote authenticated administrators via the pagelist parameter to e107_admin/menus.ph
e107 CMS version 3.2.1 contains a file upload vulnerability that allows authenticated administrative users to bypass upl
e107 CMS version 3.2.1 contains a file upload vulnerability that allows authenticated administrators to override server
e107_web/js/plupload/upload.php in e107 2.1.8 allows remote attackers to execute arbitrary PHP code by uploading a .php
Cross-site request forgery (CSRF) vulnerability in e107_admin/newspost.php in e107 1.0.1 allows remote attackers to hija
Multiple cross-site request forgery (CSRF) vulnerabilities in e107_admin/download.php in e107 1.0.2 allow remote attacke
e107 2.1.8 has XSS via the e107_admin/users.php?mode=main&action=list user_loginname parameter. Rated medium severity (C
Same weakness CWE-78 – OS Command Injection
View allSame technique Command Injection
View allShare
External POC / Exploit Code
Leaving vuln.today