Lucene search
K

Xenforo 2.2.15 Remote Code Execution

🗓️ 17 Jul 2024 00:00:00Reported by EgiX, karmainsecurity.comType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 1574 Views

Xenforo 2.2.15 Remote Code Execution Vulnerabilit

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Xenforo 2.2.15 Remote Code Execution Vulnerability
17 Jul 202400:00
zdt
CNNVD
XenForo Security Vulnerability
16 Jun 202400:00
cnnvd
CVE
CVE-2024-38458
16 Jun 202400:00
cve
Cvelist
CVE-2024-38458
16 Jun 202400:00
cvelist
NVD
CVE-2024-38458
16 Jun 202415:15
nvd
Positive Technologies
PT-2024-28014 · Xenforo · Xenforo
16 Jun 202400:00
ptsecurity
RedhatCVE
CVE-2024-38458
23 May 202509:20
redhatcve
Vulnrichment
CVE-2024-38458
16 Jun 202400:00
vulnrichment
`-----------------------------------------------------------------------  
XenForo <= 2.2.15 (Template System) Remote Code Execution Vulnerability  
-----------------------------------------------------------------------  
  
  
[-] Software Link:  
  
https://xenforo.com  
  
  
[-] Affected Versions:  
  
Version 2.2.15 and prior versions.  
  
  
[-] Vulnerability Description:  
  
XenForo implements a template system which gives complete control over  
the layout of XenForo pages. Through these templates, it might be  
possible to call certain "callback methods", however there is a sort  
of "sandbox" which allows to solely call read-only methods: a method  
is to be considered read-only when it begins with one of the allowed  
prefixes, such as "get" or "filter". Malicious users might be able to  
bypass this "sandbox" by abusing the getRepository() method from the  
XF\Mvc\Entity\Manager class in order to get an instance object of the  
XF\Util\Arr class, and from there they can abuse its filterRecursive()  
static method in order to execute arbitrary callbacks or functions  
(internally, this method calls the array_filter() PHP function with an  
attacker-controlled "callback" parameter). As such, this can be  
exploited to e.g. execute arbitrary OS commands by using a payload  
like the following within a template, which will try to execute the  
passthru() PHP function passing to it the string "whoami" as argument,  
potentially resulting in the execution of the "whoami" command on the  
web server:  
  
{{ $xf.app.em.getRepository('XF\Util\Arr').filterRecursive(['whoami'],'passthru')  
}}  
  
Successful exploitation of this vulnerability requires an account with  
permissions to administer styles or widgets.  
  
  
[-] Solution:  
  
Update to a fixed version or apply the vendor patches.  
  
  
[-] Disclosure Timeline:  
  
[22/02/2024] - Vulnerability details sent to SSD Secure Disclosure  
[05/06/2024] - Vendor released patches and fixed versions  
[14/06/2024] - CVE identifier requested  
[16/06/2024] - CVE identifier assigned  
[16/07/2024] - Coordinated public disclosure  
  
  
[-] CVE Reference:  
  
The Common Vulnerabilities and Exposures project (cve.mitre.org) has  
assigned the name CVE-2024-38458 to this vulnerability.  
  
  
[-] Credits:  
  
Vulnerability discovered by Egidio Romano.  
  
  
[-] Other References:  
  
https://xenforo.com/community/threads/222133  
https://ssd-disclosure.com/ssd-advisory-xenforo-rce-via-csrf/  
  
  
[-] Original Advisory:  
  
http://karmainsecurity.com/KIS-2024-06  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation