{"id":11149,"date":"2025-12-04T12:27:35","date_gmt":"2025-12-04T18:27:35","guid":{"rendered":"https:\/\/beaconlab.us\/?post_type=publicacion&#038;p=11149"},"modified":"2026-02-05T09:25:03","modified_gmt":"2026-02-05T15:25:03","slug":"alerta-2025-99-vulnerabilidad-rce-react-server","status":"publish","type":"publicacion","link":"https:\/\/beaconlab.us\/es\/publicacion\/alerta-2025-99-vulnerabilidad-rce-react-server\/","title":{"rendered":"Alerta 2025-99 Vulnerabilidad RCE React Server"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Producto(s) afectado(s):&nbsp;<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>React Server versions 19.0, 19.1.0, 19.1.1 y 19.2.0<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Descripci\u00f3n<\/h2>\n\n\n\n<p>Se ha encontrado una vulnerabilidad cr\u00edtica en React, una librer\u00eda para interfaces de usuario web y nativas, que crea interfaces de usuario a partir de componentes individuales escritos en JavaScript. La misma ha sido catalogada como CVE-2025-55182 y permite la ejecuci\u00f3n remota de c\u00f3digo (RCE) previa a la autenticaci\u00f3n en aplicaciones que utilizan React Server Components (RSC).&nbsp;<\/p>\n\n\n\n<p>El problema est\u00e1 relacionado con una deserializaci\u00f3n insegura puesto que cuando React o un framework que lo use procesa payloads, los interpreta sin validarlos correctamente, permitiendo que un atacante controle la ejecuci\u00f3n en el servidor. La vulnerabilidad existe en configuraciones por defecto, por lo que muchas aplicaciones creadas con los m\u00e9todos est\u00e1ndar\u202fser\u00edan vulnerables sin necesidad de modificaciones extra.&nbsp;<\/p>\n\n\n\n<p>Cuando un usuario activa una acci\u00f3n del servidor, como hacer clic en un bot\u00f3n, el navegador inicia una solicitud POST para que Flight Server la procese. Su funci\u00f3n principal consiste en recibir el cuerpo de la solicitud HTTP entrante y deserializar ese texto sin procesar en objetos JavaScript utilizables para que sirvan como argumentos de la funci\u00f3n.&nbsp;<\/p>\n\n\n\n<p>Una vez descomprimidos los datos, el servidor utiliza un formato de identificador basado en cadenas para asignar las referencias del cliente al c\u00f3digo del servidor, con el formato ManifestID#ExportName. Finalmente, ejecuta la funci\u00f3n JavaScript correspondiente.&nbsp;<\/p>\n\n\n\n<p>Cuando un usuario activa una acci\u00f3n del servidor, como hacer clic en un bot\u00f3n, el navegador inicia una solicitud POST para que el servidor Flight la procese. Su funci\u00f3n principal consiste en recibir el cuerpo de la solicitud HTTP entrante y deserializar ese texto sin formato en objetos JavaScript utilizables, que sirven como argumentos de funci\u00f3n.&nbsp;<\/p>\n\n\n\n<p>En esencia, se trata de una vulnerabilidad de deserializaci\u00f3n insegura, derivada de un error l\u00f3gico en la decodificaci\u00f3n del protocolo \u00abFlight\u00bb personalizado de React en el servidor.&nbsp;<\/p>\n\n\n\n<p>La vulnerabilidad reside en la funci\u00f3n requireModule del paquete react-server-dom-webpack. Esta funci\u00f3n se encarga de resolver y cargar las funciones exportadas que un cliente intenta llamar en el servidor.&nbsp;<\/p>\n\n\n\n<p>En JavaScript, acceder a una propiedad mediante la notaci\u00f3n de corchetes (obj[key]) no solo comprueba las propiedades del objeto, sino que recorre toda la cadena del prototipo. El c\u00f3digo no valida que el nombre de la exportaci\u00f3n solicitada sea una exportaci\u00f3n leg\u00edtima, definida por el desarrollador.&nbsp;<\/p>\n\n\n\n<p><strong>Actores de amenazas<\/strong><\/p>\n\n\n\n<p>Investigadores detectaron una campa\u00f1a que explota la vulnerabilidad React2Shell (CVE-2025-55182) para comprometer servidores NGINX mediante configuraciones maliciosas. Los atacantes redirigen el tr\u00e1fico web leg\u00edtimo hacia servidores controlados, permitiendo interceptar informaci\u00f3n, manipular contenido y ejecutar ataques sin instalar malware visible, lo que dificulta su detecci\u00f3n. Esta campa\u00f1a afecta principalmente a sitios web que utilizan dominios comunes en Asia, como .in, .id, .pe, .bd y .th, as\u00ed como a servidores alojados en infraestructura china que utilizan el panel de administraci\u00f3n Baota (BT), adem\u00e1s de algunos dominios gubernamentales y educativos como .gov y .edu. Los atacantes han demostrado un alto nivel de sofisticaci\u00f3n al comprometer los servidores de manera silenciosa y persistente, aprovechando configuraciones leg\u00edtimas para ocultar su actividad maliciosa.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mitigaci\u00f3n:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Implementar reglas de Firewall de aplicaciones web (WAF) si est\u00e1n disponibles&nbsp;<\/li>\n\n\n\n<li>Aplicar las correcciones de las versiones 19.0.1, 19.1.2, or 19.2.1&nbsp;<\/li>\n\n\n\n<li>Monitorear el tr\u00e1fico HTTP a los puntos finales de la funci\u00f3n del servidor para detectar cualquier solicitud sospechosa o malformada\u202f&nbsp;<\/li>\n\n\n\n<li>Considerar restringir temporalmente el acceso a la red a las aplicaciones afectadas&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Informaci\u00f3n adicional:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/react.dev\/blog\/2025\/12\/03\/critical-security-vulnerability-in-react-server-components\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/react.dev\/blog\/2025\/12\/03\/critical-security-vulnerability-in-react-server-components<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/my.f5.com\/manage\/s\/article\/K000158058\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/my.f5.com\/manage\/s\/article\/K000158058<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.cyber.gov.au\/about-us\/view-all-content\/alerts-and-advisories\/critical-vulnerability-in-react-server-components-cve-2025-55182\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.cyber.gov.au\/about-us\/view-all-content\/alerts-and-advisories\/critical-vulnerability-in-react-server-components-cve-2025-55182<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2025-55182\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.cve.org\/CVERecord?id=CVE-2025-55182<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.incibe.es\/incibe-cert\/alerta-temprana\/avisos\/ejecucion-remota-de-codigo-en-react-server-components?sstc=u88504nl590989\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.incibe.es\/incibe-cert\/alerta-temprana\/avisos\/ejecucion-remota-de-codigo-en-react-server-components?sstc=u88504nl590989<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/securityonline.info\/catastrophic-react-flaw-cve-2025-55182-cvss-10-0-allows-unauthenticated-rce-on-next-js-and-server-components\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/securityonline.info\/catastrophic-react-flaw-cve-2025-55182-cvss-10-0-allows-unauthenticated-rce-on-next-js-and-server-components\/<\/a>&nbsp;<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"featured_media":11150,"template":"","class_list":["post-11149","publicacion","type-publicacion","status-publish","has-post-thumbnail","hentry"],"acf":{"activar_pdf_link":false,"pdf":null,"numero_de_boletin":"","traffic_light_protocol":"Amber"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/publicacion\/11149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/publicacion"}],"about":[{"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/types\/publicacion"}],"version-history":[{"count":2,"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/publicacion\/11149\/revisions"}],"predecessor-version":[{"id":11250,"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/publicacion\/11149\/revisions\/11250"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/media\/11150"}],"wp:attachment":[{"href":"https:\/\/beaconlab.us\/es\/wp-json\/wp\/v2\/media?parent=11149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}