mirror of
				https://github.com/jtesta/ssh-audit.git
				synced 2025-10-30 21:15:27 +01:00 
			
		
		
		
	Add OpenSSH CVE list (#25)
This commit is contained in:
		
							
								
								
									
										64
									
								
								ssh-audit.py
									
									
									
									
									
								
							
							
						
						
									
										64
									
								
								ssh-audit.py
									
									
									
									
									
								
							| @@ -1419,10 +1419,10 @@ class SSH(object):  # pylint: disable=too-few-public-methods | |||||||
| 			'Dropbear SSH': [ | 			'Dropbear SSH': [ | ||||||
| 				['0.44', '2015.71', 1, 'CVE-2016-3116', 5.5, 'bypass command restrictions via xauth command injection'], | 				['0.44', '2015.71', 1, 'CVE-2016-3116', 5.5, 'bypass command restrictions via xauth command injection'], | ||||||
| 				['0.28', '2013.58', 1, 'CVE-2013-4434', 5.0, 'discover valid usernames through different time delays'], | 				['0.28', '2013.58', 1, 'CVE-2013-4434', 5.0, 'discover valid usernames through different time delays'], | ||||||
| 				['0.28', '2013.58', 1, 'CVE-2013-4421', 5.0, 'cause DoS (memory consumption) via a compressed packet'], | 				['0.28', '2013.58', 1, 'CVE-2013-4421', 5.0, 'cause DoS via a compressed packet (memory consumption)'], | ||||||
| 				['0.52', '2011.54', 1, 'CVE-2012-0920', 7.1, 'execute arbitrary code or bypass command restrictions'], | 				['0.52', '2011.54', 1, 'CVE-2012-0920', 7.1, 'execute arbitrary code or bypass command restrictions'], | ||||||
| 				['0.40', '0.48.1',  1, 'CVE-2007-1099', 7.5, 'conduct a MitM attack (no warning for hostkey mismatch)'], | 				['0.40', '0.48.1',  1, 'CVE-2007-1099', 7.5, 'conduct a MitM attack (no warning for hostkey mismatch)'], | ||||||
| 				['0.28', '0.47',    1, 'CVE-2006-1206', 7.5, 'cause DoS (slot exhaustion) via large number of connections'], | 				['0.28', '0.47',    1, 'CVE-2006-1206', 7.5, 'cause DoS via large number of connections (slot exhaustion)'], | ||||||
| 				['0.39', '0.47',    1, 'CVE-2006-0225', 4.6, 'execute arbitrary commands via scp with crafted filenames'], | 				['0.39', '0.47',    1, 'CVE-2006-0225', 4.6, 'execute arbitrary commands via scp with crafted filenames'], | ||||||
| 				['0.28', '0.46',    1, 'CVE-2005-4178', 6.5, 'execute arbitrary code via buffer overflow vulnerability'], | 				['0.28', '0.46',    1, 'CVE-2005-4178', 6.5, 'execute arbitrary code via buffer overflow vulnerability'], | ||||||
| 				['0.28', '0.42',    1, 'CVE-2004-2486', 7.5, 'execute arbitrary code via DSS verification code']], | 				['0.28', '0.42',    1, 'CVE-2004-2486', 7.5, 'execute arbitrary code via DSS verification code']], | ||||||
| @@ -1436,7 +1436,65 @@ class SSH(object):  # pylint: disable=too-few-public-methods | |||||||
| 				['0.4.7', '0.5.2',  1, 'CVE-2012-4562', 7.5, 'cause DoS or execute arbitrary code (overflow check)'], | 				['0.4.7', '0.5.2',  1, 'CVE-2012-4562', 7.5, 'cause DoS or execute arbitrary code (overflow check)'], | ||||||
| 				['0.4.7', '0.5.2',  1, 'CVE-2012-4561', 5.0, 'cause DoS via unspecified vectors (invalid pointer)'], | 				['0.4.7', '0.5.2',  1, 'CVE-2012-4561', 5.0, 'cause DoS via unspecified vectors (invalid pointer)'], | ||||||
| 				['0.4.7', '0.5.2',  1, 'CVE-2012-4560', 7.5, 'cause DoS or execute arbitrary code (buffer overflow)'], | 				['0.4.7', '0.5.2',  1, 'CVE-2012-4560', 7.5, 'cause DoS or execute arbitrary code (buffer overflow)'], | ||||||
| 				['0.4.7', '0.5.2',  1, 'CVE-2012-4559', 6.8, 'cause DoS or execute arbitrary code (double free)']] | 				['0.4.7', '0.5.2',  1, 'CVE-2012-4559', 6.8, 'cause DoS or execute arbitrary code (double free)']], | ||||||
|  | 			'OpenSSH': [ | ||||||
|  | 				['7.2',     '7.2p2',   1, 'CVE-2016-6515', 7.8, 'cause DoS via long password string (crypt CPU consumption)'], | ||||||
|  | 				['1.2.2',   '7.2',     1, 'CVE-2016-3115', 5.5, 'bypass command restrictions via crafted X11 forwarding data'], | ||||||
|  | 				['5.4',     '7.1',     1, 'CVE-2016-1907', 5.0, 'cause DoS via crafted network traffic (out of bounds read)'], | ||||||
|  | 				['5.4',     '7.1p1',   2, 'CVE-2016-0778', 4.6, 'cause DoS via requesting many forwardings (heap based buffer overflow)'], | ||||||
|  | 				['5.0',     '7.1p1',   2, 'CVE-2016-0777', 4.0, 'leak data via allowing transfer of entire buffer'], | ||||||
|  | 				['6.0',     '7.2p2',   5, 'CVE-2015-8325', 7.2, 'privilege escalation via triggering crafted environment'], | ||||||
|  | 				['6.8',     '6.9',     5, 'CVE-2015-6565', 7.2, 'cause DoS via writing to a device (terminal disruption)'], | ||||||
|  | 				['5.0',     '6.9',     5, 'CVE-2015-6564', 6.9, 'privilege escalation via leveraging sshd uid'], | ||||||
|  | 				['5.0',     '6.9',     5, 'CVE-2015-6563', 1.9, 'conduct impersonation attack'], | ||||||
|  | 				['6.9p1',   '6.9p1',   1, 'CVE-2015-5600', 8.5, 'cause Dos or aid in conduct brute force attack (CPU consumption)'], | ||||||
|  | 				['6.0',     '6.6',     1, 'CVE-2015-5352', 4.3, 'bypass access restrictions via a specific connection'], | ||||||
|  | 				['6.0',     '6.6',     2, 'CVE-2014-2653', 5.8, 'bypass SSHFP DNS RR check via unacceptable host certificate'], | ||||||
|  | 				['5.0',     '6.5',     1, 'CVE-2014-2532', 5.8, 'bypass environment restrictions via specific string before wildcard'], | ||||||
|  | 				['1.2',     '6.4',     1, 'CVE-2014-1692', 7.5, 'cause DoS via triggering error condition (memory corruption)'], | ||||||
|  | 				['6.2',     '6.3',     1, 'CVE-2013-4548', 6.0, 'bypass command restrictions via crafted packet data'], | ||||||
|  | 				['1.2',     '5.6',     1, 'CVE-2012-0814', 3.5, 'leak data via debug messages'], | ||||||
|  | 				['1.2',     '5.8',     1, 'CVE-2011-5000', 3.5, 'cause DoS via large value in certain length field (memory consumption)'], | ||||||
|  | 				['5.6',     '5.7',     2, 'CVE-2011-0539', 5.0, 'leak data or conduct hash collision attack'], | ||||||
|  | 				['1.2',     '6.1',     1, 'CVE-2010-5107', 5.0, 'cause DoS via large number of connections (slot exhaustion)'], | ||||||
|  | 				['1.2',     '5.8',     1, 'CVE-2010-4755', 4.0, 'cause DoS via crafted glob expression (CPU and memory consumption)'], | ||||||
|  | 				['1.2',     '5.6',     1, 'CVE-2010-4478', 7.5, 'bypass authentication check via crafted values'], | ||||||
|  | 				['4.3',     '4.8',     1, 'CVE-2009-2904', 6.9, 'privilege escalation via hard links to setuid programs'], | ||||||
|  | 				['4.0',     '5.1',     1, 'CVE-2008-5161', 2.6, 'recover plaintext data from ciphertext'], | ||||||
|  | 				['1.2',     '4.6',     1, 'CVE-2008-4109', 5.0, 'cause DoS via multiple login attempts (slot exhaustion)'], | ||||||
|  | 				['1.2',     '4.8',     1, 'CVE-2008-1657', 6.5, 'bypass command restrictions via modifying session file'], | ||||||
|  | 				['1.2.2',   '4.9',     1, 'CVE-2008-1483', 6.9, 'hijack forwarded X11 connections'], | ||||||
|  | 				['4.0',     '4.6',     1, 'CVE-2007-4752', 7.5, 'privilege escalation via causing an X client to be trusted'], | ||||||
|  | 				['4.3p2',   '4.3p2',   1, 'CVE-2007-3102', 4.3, 'allow attacker to write random data to audit log'], | ||||||
|  | 				['1.2',     '4.6',     1, 'CVE-2007-2243', 5.0, 'discover valid usernames through different responses'], | ||||||
|  | 				['4.4',     '4.4',     1, 'CVE-2006-5794', 7.5, 'bypass authentication'], | ||||||
|  | 				['4.1',     '4.1p1',   1, 'CVE-2006-5229', 2.6, 'discover valid usernames through different time delays'], | ||||||
|  | 				['1.2',     '4.3p2',   1, 'CVE-2006-5052', 5.0, 'discover valid usernames through different responses'], | ||||||
|  | 				['1.2',     '4.3p2',   1, 'CVE-2006-5051', 9.3, 'cause DoS or execute arbitrary code (double free)'], | ||||||
|  | 				['4.5',     '4.5',     1, 'CVE-2006-4925', 5.0, 'cause DoS via invalid protocol sequence (crash)'], | ||||||
|  | 				['1.2',     '4.3p2',   1, 'CVE-2006-4924', 7.8, 'cause DoS via crafted packet (CPU consumption)'], | ||||||
|  | 				['3.8.1p1', '3.8.1p1', 1, 'CVE-2006-0883', 5.0, 'cause DoS via connecting multiple times (client connection refusal)'], | ||||||
|  | 				['3.0',     '4.2p1',   1, 'CVE-2006-0225', 4.6, 'execute arbitrary code'], | ||||||
|  | 				['2.1',     '4.1p1',   1, 'CVE-2005-2798', 5.0, 'leak data about authentication credentials'], | ||||||
|  | 				['3.5',     '3.5p1',   1, 'CVE-2004-2760', 6.8, 'leak data through different connection states'], | ||||||
|  | 				['2.3',     '3.7.1p2', 1, 'CVE-2004-2069', 5.0, 'cause DoS via large number of connections (slot exhaustion)'], | ||||||
|  | 				['3.0',     '3.4p1',   1, 'CVE-2004-0175', 4.3, 'leak data through directoy traversal'], | ||||||
|  | 				['1.2',     '3.9p1',   1, 'CVE-2003-1562', 7.6, 'leak data about authentication credentials'], | ||||||
|  | 				['3.1p1',   '3.7.1p1', 1, 'CVE-2003-0787', 7.5, 'privilege escalation via modifying stack'], | ||||||
|  | 				['3.1p1',   '3.7.1p1', 1, 'CVE-2003-0786', 10.0,'privilege escalation via bypassing authentication'], | ||||||
|  | 				['1.0',     '3.7.1',   1, 'CVE-2003-0695', 7.5, 'cause DoS or execute arbitrary code'], | ||||||
|  | 				['1.0',     '3.7',     1, 'CVE-2003-0693', 10.0,'execute arbitrary code'], | ||||||
|  | 				['3.0',     '3.6.1p2', 1, 'CVE-2003-0386', 7.5, 'bypass address restrictions for connection'], | ||||||
|  | 				['3.1p1',   '3.6.1p1', 1, 'CVE-2003-0190', 5.0, 'discover valid usernames through different time delays'], | ||||||
|  | 				['3.2.2',   '3.2.2',   1, 'CVE-2002-0765', 7.5, 'bypass authentication'], | ||||||
|  | 				['1.2.2',   '3.3p1',   1, 'CVE-2002-0640', 10.0,'execute arbitrary code'], | ||||||
|  | 				['1.2.2',   '3.3p1',   1, 'CVE-2002-0639', 10.0,'execute arbitrary code'], | ||||||
|  | 				['2.1',     '3.2',     1, 'CVE-2002-0575', 7.5, 'privilege escalation'], | ||||||
|  | 				['2.1',     '3.0.2p1', 2, 'CVE-2002-0083', 10.0,'privilege escalation'], | ||||||
|  | 				['3.0',     '3.0p1',   1, 'CVE-2001-1507', 7.5, 'bypass authentication'], | ||||||
|  | 				['1.2.3',   '3.0.1p1', 5, 'CVE-2001-0872', 7.2, 'privilege escalation via crafted environment variables'], | ||||||
|  | 				['1.2.3',   '2.1.1',   1, 'CVE-2001-0361', 4.0, 'recover plaintext from ciphertext'], | ||||||
|  | 				['1.2',     '2.1',     1, 'CVE-2000-0525', 10.0,'execute arbitrary code (improper privileges)']] | ||||||
| 		}  # type: Dict[str, List[List[Any]]] | 		}  # type: Dict[str, List[List[Any]]] | ||||||
| 		TXT = { | 		TXT = { | ||||||
| 			'Dropbear SSH': [ | 			'Dropbear SSH': [ | ||||||
|   | |||||||
| @@ -108,7 +108,7 @@ class TestSSH1(object): | |||||||
| 		output_spy.begin() | 		output_spy.begin() | ||||||
| 		self.audit(self._conf()) | 		self.audit(self._conf()) | ||||||
| 		lines = output_spy.flush() | 		lines = output_spy.flush() | ||||||
| 		assert len(lines) == 10 | 		assert len(lines) == 13 | ||||||
| 	 | 	 | ||||||
| 	def test_ssh1_server_invalid_first_packet(self, output_spy, virtual_socket): | 	def test_ssh1_server_invalid_first_packet(self, output_spy, virtual_socket): | ||||||
| 		vsocket = virtual_socket | 		vsocket = virtual_socket | ||||||
| @@ -121,7 +121,7 @@ class TestSSH1(object): | |||||||
| 		with pytest.raises(SystemExit): | 		with pytest.raises(SystemExit): | ||||||
| 			self.audit(self._conf()) | 			self.audit(self._conf()) | ||||||
| 		lines = output_spy.flush() | 		lines = output_spy.flush() | ||||||
| 		assert len(lines) == 4 | 		assert len(lines) == 7 | ||||||
| 		assert 'unknown message' in lines[-1] | 		assert 'unknown message' in lines[-1] | ||||||
|  |  | ||||||
| 	def test_ssh1_server_invalid_checksum(self, output_spy, virtual_socket): | 	def test_ssh1_server_invalid_checksum(self, output_spy, virtual_socket): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 bs
					bs