Cacti Request Parameter remote_agent.php escalada de privilegios

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

Resumeninformación

Una vulnerabilidad ha sido encontrada en Cacti y clasificada como crítica. Se ve afectada una función desconocida del archivo remote_agent.php del componente Request Parameter Handler. A través de la manipulación de un input desconocido se causa una vulnerabilidad de clase escalada de privilegios. Esta vulnerabilidad se registra como CVE-2022-46169. El ataque puede ser realizado a través de la red. También se encuentra disponible un exploit. Se sugiere actualizar el componente afectado.

Detallesinformación

Una vulnerabilidad clasificada como crítica fue encontrada en Cacti (Log Management Software). Una función desconocida del archivo remote_agent.php del componente Request Parameter Handler es afectada por esta vulnerabilidad. Por la manipulación de un input desconocido se causa una vulnerabilidad de clase escalada de privilegios. Los efectos exactos de un ataque exitoso no son conocidos. El resumen de CVE es:

Cacti es una plataforma de código abierto que proporciona un framework de gestión de fallos y supervisión operativa robusta y extensible para los usuarios. En las versiones afectadas, una vulnerabilidad de inyección de comandos permite a un usuario no autenticado ejecutar código arbitrario en un servidor que ejecuta Cacti, si se seleccionó una fuente de datos específica para cualquier dispositivo monitoreado. La vulnerabilidad reside en el archivo `remote_agent.php`. Se puede acceder a este archivo sin autenticación. Esta función recupera la dirección IP del cliente a través de `get_client_addr` y resuelve esta dirección IP en el nombre de host correspondiente a través de `gethostbyaddr`. Después de esto, se verifica que existe una entrada dentro de la tabla `poller`, donde el nombre de host corresponde al nombre de host resuelto. Si se encuentra dicha entrada, la función devuelve "verdadero" y el cliente está autorizado. Esta autorización se puede omitir debido a la implementación de la función `get_client_addr`. La función se define en el archivo `lib/functions.php` y verifica las variables serval `$_SERVER` para determinar la dirección IP del cliente. Un atacante puede establecer arbitrariamente las variables que comienzan con `HTTP_`. Dado que hay una entrada predeterminada en la tabla `poller` con el nombre de host del servidor que ejecuta Cacti, un atacante puede omitir la autenticación, por ejemplo, proporcionando el encabezado `Forwarded-For: `. De esta forma, la función `get_client_addr` devuelve la dirección IP del servidor que ejecuta Cacti. La siguiente llamada a `gethostbyaddr` resolverá esta dirección IP en el nombre de host del servidor, que pasará la verificación del nombre de host `poller` debido a la entrada predeterminada. Después de omitir la autorización del archivo `remote_agent.php`, un atacante puede desencadenar diferentes acciones. Una de estas acciones se llama "polldata". La función llamada `poll_for_data` recupera algunos parámetros de solicitud y carga las entradas correspondientes de `poller_item` de la base de datos. Si la `acción` de un `poller_item` es igual a `POLLER_ACTION_SCRIPT_PHP`, la función `proc_open` se usa para ejecutar un script PHP. El parámetro controlado por el atacante `$poller_id` se recupera mediante la función `get_nfilter_request_var`, que permite cadenas arbitrarias. Esta variable luego se inserta en la cadena pasada a `proc_open`, lo que genera una vulnerabilidad de inyección de comando. Por ejemplo, al proporcionar `poller_id=;id`, se ejecuta el comando `id`. Para llegar a la llamada vulnerable, el atacante debe proporcionar un `host_id` y un `local_data_id`, donde la `acción` del `poller_item` correspondiente está configurada en `POLLER_ACTION_SCRIPT_PHP`. Ambos identificadores (`host_id` y `local_data_id`) pueden ser fácilmente forzados por fuerza bruta. El único requisito es que exista un `poller_item` con una acción `POLLER_ACTION_SCRIPT_PHP`. Es muy probable que esto ocurra en una instancia productiva porque esta acción se agrega mediante algunas plantillas predefinidas como "Device - Uptime` o "Dispositivo - Polling Time". Esta vulnerabilidad de inyección de comandos permite a un usuario no autenticado ejecutar comandos arbitrarios si se configura un `poller_item` con el tipo `action` `POLLER_ACTION_SCRIPT_PHP` (`2`). La omisión de autorización debe evitarse al no permitir que un atacante haga que `get_client_addr` (archivo `lib/functions.php`) devuelva una dirección IP arbitraria. Esto podría hacerse al no respetar las variables `HTTP_...` `$_SERVER`. Si se deben conservar por razones de compatibilidad, al menos se debe evitar falsificar la dirección IP del servidor que ejecuta Cacti. Esta vulnerabilidad se ha solucionado en las versiones 1.2.x y 1.3.x, siendo `1.2.23` la primera versión que contiene el parche.

La vulnerabilidad fue publicada el 2022-12-06 con identificación GHSA-6p93-p743-35gf (confirmado). El advisory puede ser descargado de github.com. La vulnerabilidad es identificada como CVE-2022-46169. Los detalles técnicos asi como un exploit público son conocidos.

El exploit puede ser descargado de exploit-db.com. Fue declarado como atacado. Buscando inurl:remote_agent.php es posible encontrar objetos vulnerables.

Una actualización elimina esta vulnerabilidad. Aplicando el parche 7f0e16312dd5ce20f93744ef8b9c3b0f1ece2216 es posible eliminar el problema. El parche puede ser descargado de github.com. El mejor modo sugerido para mitigar el problema es Actualización.

La vulnerabilidad también está documentado en la base de datos Exploit-DB (51166). Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Productoinformación

Escribe

Nombre

Licencia

Sitio web

CPE 2.3información

CPE 2.2información

CVSSv4información

VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CVSSv3información

VulDB Puntuación meta base: 9.0
VulDB Puntuación meta temporal: 8.9

VulDB Puntuación base: 7.3
VulDB Puntuación temporal: 7.0
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

NVD Puntuación base: 9.8
NVD Vector: 🔍

CNA Puntuación base: 9.8
CNA Vector (GitHub, Inc.): 🔍

CVSSv2información

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

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

Explotacióninformación

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

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

Disponibilidad: 🔍
Acceso: Público
Estado: Atacado
Descargar: 🔍
Google Hack: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

KEV Añadido: 🔍
KEV ¿Hasta cuándo?: 🔍
KEV Contramedidas: 🔍
KEV Ransomware: 🔍
KEV Aviso: 🔍

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

0-DayDesbloquearDesbloquearDesbloquearDesbloquear
HoyDesbloquearDesbloquearDesbloquearDesbloquear

Exploit-DB: 🔍

Inteligencia de amenazasinformación

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

Contramedidasinformación

Recomendación: Actualización
Estado: 🔍

Hora de 0 días: 🔍

Parche: 7f0e16312dd5ce20f93744ef8b9c3b0f1ece2216

Línea de tiempoinformación

2022-11-28 🔍
2022-12-06 +8 días 🔍
2022-12-06 +0 días 🔍
2024-10-20 +684 días 🔍

Fuentesinformación

Producto: github.com

Aviso: GHSA-6p93-p743-35gf
Estado: Confirmado

CVE: CVE-2022-46169 (🔍)
GCVE (CVE): GCVE-0-2022-46169
GCVE (VulDB): GCVE-100-214817
scip Labs: https://www.scip.ch/en/?labs.20161013

Artículoinformación

Fecha de creación: 2022-12-06 08:23
Actualizado: 2024-10-20 15:55
Cambios: 2022-12-06 08:23 (51), 2024-04-28 08:44 (26), 2024-06-29 03:20 (12), 2024-09-27 13:18 (2), 2024-10-20 15:55 (3)
Completo: 🔍
Cache ID: 216::103

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Discusión

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

Por favor, inicie sesión para comentar.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!