parisneo lollms-webui hasta 9.1 falsificación de solicitudes en sitios cruzados

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

Resumeninformación

Una vulnerabilidad clasificada como problemática fue encontrada en parisneo lollms-webui hasta 9.1. Está afectada una función desconocida. El manejo da lugar a falsificación de solicitudes en sitios cruzados. Esta vulnerabilidad se cataloga como CVE-2024-1522. El ataque puede ser iniciado desde la red. No hay ningún exploit disponible. Se aconseja actualizar el componente afectado.

Detallesinformación

Una vulnerabilidad fue encontrada en parisneo lollms-webui hasta 9.1 y clasificada como problemática. Una función desconocida es afectada por esta vulnerabilidad. A través de la manipulación de un input desconocido se causa una vulnerabilidad de clase falsificación de solicitudes en sitios cruzados. Esto tiene repercusión sobre la la integridad. El resumen de CVE es:

Activé CORS porque tenía una interfaz de usuario de desarrollo que usa otro número de puerto y luego olvidé eliminarla. Entonces, lo que acabo de hacer es: - Primero eliminé la configuración de cors que permite a todos acceder a ella: antes: ```python sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins="*", ping_timeout=1200, ping_interval= 30) # Habilite CORS para cada ``` después de: ```python cert_file_path = lollms_paths.personal_certificates/"cert.pem" key_file_path = lollms_paths.personal_certificates/"key.pem" si os.path.exists(cert_file_path) y os .path.exists(key_file_path): is_https = True else: is_https = False # Crear un servidor Socket.IO sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins=config.allowed_origins+[f"https://localhost:{ config['port']}" if is_https else f"http://localhost:{config['port']}"], ping_timeout=1200, ping_interval=30) # Habilitar CORS para orígenes seleccionados ``` - Segundo, He actualizado lollms para que tenga dos modos (un modo sin cabeza y un modo ui). Y actualizó /execute_code para bloquear si el servidor no tiene cabeza o está expuesto ```python @router.post("/execute_code") async def ejecutar_code(request: Request): """ Ejecuta el código Python y devuelve la salida. : solicitud de parámetro: el objeto de solicitud HTTP. :return: una respuesta JSON con el estado de la operación. """ if lollmsElfServer.config.headless_server_mode: return {"status":False,"error":"La ejecución del código está bloqueada cuando está en ¡modo sin cabeza por razones obvias de seguridad!"} if lollmsElfServer.config.host=="0.0.0.0": return {"status":False,"error":"La ejecución del código se bloquea cuando el servidor está expuesto al exterior por razones muy obvias !"} intente: datos = (espera solicitud.json()) código = datos["código"] id_discusión = int(data.get("id_discusión","discusión_desconocida")) id_mensaje = int(data.get("id_mensaje) ","unknown_message")) language = data.get("language","python") if language=="python": ASCIIColors.info("Ejecutando código python:") ASCIIColors.amarillo(código) return ejecutar_python(código) , id_discusión, id_mensaje) if idioma=="javascript": ASCIIColors.info("Ejecutando código javascript:") ASCIIColors.amarillo(código) devuelve ejecutar_javascript(código, id_discusión, id_mensaje) si el idioma está en ["html","html5" ,"svg"]: ASCIIColors.info("Ejecutando código javascript:") ASCIIColors.amarillo(código) return ejecutar_html(código, id_discusión, id_mensaje) elif language=="latex": ASCIIColors.info("Ejecutando código latex:" ) ASCIIColors.amarillo(código) devuelve ejecutar_latex(código, id_discusión, id_mensaje) lenguaje elif en ["bash","shell","cmd","powershell"]: ASCIIColors.info("Ejecutando código de shell:") ASCIIColors. amarillo(código) devuelve ejecutar_bash(código, id_discusión, id_mensaje) idioma elif en ["sirena"]: ASCIIColors.info("Ejecutando código de sirena:") ASCIIColors.amarillo(código) devuelve ejecutar_mermaid(código, id_discusión, id_mensaje) idioma elif en ["graphviz","punto"]: ASCIIColors.info("Ejecutando código Graphviz:") ASCIIColors.amarillo(código) return ejecutar_graphviz(código, id_discusión, id_mensaje) return {"status": False, "error": " Idioma no admitido", "execution_time": 0} excepto excepción como por ejemplo: trace_exception(ex) lollmsElfServer.error(ex) return {"status":False,"error":str(ex)} ``` También agregué un opcional modo https y esperamos agregar una autenticación completa con cookies y una sesión personal, etc. Todas las actualizaciones estarán en la versión 9.1 nuevamente, muchas gracias por su trabajo. Lo haré más difícil la próxima vez, pero si encuentras más errores, sé mi invitado :)

El advisory puede ser descargado de github.com. La vulnerabilidad es identificada como CVE-2024-1522. La explotación se considera fácil. El ataque se puede efectuar a través de la red. La explotación no necesita ninguna autentificación específica. No se conoce los detalles técnicos ni hay ningún exploit disponible.

Una actualización a la versión 9.2 elimina esta vulnerabilidad. Aplicando el parche 0b51063119cfb5e391925d232a4af1de9dc32e2b es posible eliminar el problema. El parche puede ser descargado de github.com. El mejor modo sugerido para mitigar el problema es Actualización.

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

Productoinformación

Proveedor

Nombre

Versión

Licencia

Sitio web

CPE 2.3información

CPE 2.2información

CVSSv4información

VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CVSSv3información

VulDB Puntuación meta base: 6.6
VulDB Puntuación meta temporal: 6.4

VulDB Puntuación base: 4.3
VulDB Puntuación temporal: 4.1
VulDB Vector: 🔍
VulDB Confiabilidad: 🔍

CNA Puntuación base: 8.8
CNA Vector (huntr.dev): 🔍

CVSSv2información

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

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

Explotacióninformación

Clase: Falsificación de solicitudes en sitios cruzados
CWE: CWE-352 / CWE-862 / CWE-863
CAPEC: 🔍
ATT&CK: 🔍

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

Disponibilidad: 🔍
Estado: No está definido

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: Actualización
Estado: 🔍

Hora de 0 días: 🔍

Actualización: lollms-webui 9.2
Parche: 0b51063119cfb5e391925d232a4af1de9dc32e2b

Línea de tiempoinformación

2024-02-14 🔍
2024-03-30 +45 días 🔍
2024-03-30 +0 días 🔍
2025-06-30 +457 días 🔍

Fuentesinformación

Producto: github.com

Aviso: 0b51063119cfb5e391925d232a4af1de9dc32e2b
Estado: Confirmado

CVE: CVE-2024-1522 (🔍)
GCVE (CVE): GCVE-0-2024-1522
GCVE (VulDB): GCVE-100-258783

Artículoinformación

Fecha de creación: 2024-03-30 20:21
Actualizado: 2025-06-30 22:27
Cambios: 2024-03-30 20:21 (66), 2025-04-10 05:34 (4), 2025-06-30 22:27 (1)
Completo: 🔍
Cache ID: 216::103

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.

Want to know what is going to be exploited?

We predict KEV entries!