{"id":6107,"date":"2026-10-12T10:42:50","date_gmt":"2026-10-12T15:42:50","guid":{"rendered":"https:\/\/cert.pa\/?p=6107"},"modified":"2026-10-12T13:31:56","modified_gmt":"2026-10-12T18:31:56","slug":"csirt-panama-aviso-2026-oct-12-vulnerabilidad-critica-en-el-plugin-bricksforge-para-wordpress-explotada-activamente-que-permite-cargar-archivos-maliciosos-y-ejecutar-codigo-cve-2026-85097","status":"publish","type":"post","link":"https:\/\/cert.pa\/?p=6107","title":{"rendered":"CSIRT Panam\u00e1 Aviso 2026-oct-12: Vulnerabilidad Cr\u00edtica en el plugin Bricksforge para WordPress explotada activamente que permite cargar archivos maliciosos y ejecutar c\u00f3digo \u2014 CVE-2026-85097"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Fecha de emisi\u00f3n:<\/strong> 12 de octubre de 2026<br><strong>CVE ID:<\/strong> CVE-2026-85097<br><strong>Severidad:<\/strong> CR\u00cdTICA \u2014 CVSS 3.1: 9.8<br><strong>Vector CVSS:<\/strong> CVSS:3.1\/AV:N\/AC:L\/PR:N\/UI:N\/S:U\/C:H\/I:H\/A:H<br><strong>Tipo de vulnerabilidad:<\/strong> CWE-434: Carga de archivos peligrosos sin restricci\u00f3n<br><strong>Producto afectado:<\/strong> Bricksforge para WordPress 3.1.8.9 y anteriores<br><strong>Explotaci\u00f3n activa:<\/strong> S\u00ed \u2014 Observada por Patchstack desde el 7 de octubre de 2026; reportada por SecurityWeek y The Hacker News<br><strong>Fuente:<\/strong> NVD \/ Patchstack \/ SecurityWeek \/ The Hacker News<br><strong>Clasificaci\u00f3n TLP:<\/strong> TLP:CLEAR (Difusi\u00f3n p\u00fablica)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>I. Descripci\u00f3n<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se ha identificado una vulnerabilidad de carga de archivos peligrosos sin restricci\u00f3n en Bricksforge, complemento comercial del constructor visual Bricks para WordPress, registrada como CVE-2026-85097 y calificada con 9.8 de 10 en la escala CVSS 3.1. Afecta a todas las versiones hasta la 3.1.8.9 inclusive y permite que un atacante remoto, sin autenticaci\u00f3n, cargue y ejecute c\u00f3digo PHP arbitrario en el servidor, tomando el control total del sitio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El fallo se debe a que el plugin valida el tipo MIME del archivo en la carga inicial, pero luego conf\u00eda en el campo <code>url<\/code> del par\u00e1metro <code>temporaryFileUploads<\/code>, controlado por el atacante. El atacante obtiene un nonce v\u00e1lido mediante el endpoint AJAX <code>bricksforge_regenerate_nonce<\/code> (accesible sin autenticaci\u00f3n), sube un archivo pol\u00edglota GIF\/PHP al directorio temporal \u2014donde supera la validaci\u00f3n MIME\u2014 y luego env\u00eda un formulario en el que la ruta apunta al GIF validado, pero el campo <code>url<\/code> termina en <code>.php<\/code>, de modo que el c\u00f3digo queda escrito como archivo PHP ejecutable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Patchstack observ\u00f3 los primeros intentos de explotaci\u00f3n el 7 de octubre de 2026 a las 21:47 UTC, con solicitudes desde 63 direcciones IP \u00fanicas. En un grupo, 44 IP enviaron cargas id\u00e9nticas con segundos de diferencia; en otro, 3 IP probaron 25 variantes de extensiones y codificaciones (<code>.phtml<\/code>, <code>.php5<\/code>, cambios de may\u00fasculas, codificaci\u00f3n URL). El patr\u00f3n indica explotaci\u00f3n automatizada a trav\u00e9s de proxies rotativos o infraestructura distribuida. Patchstack estima que unos 6,000 sitios utilizan el plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Descripci\u00f3n t\u00e9cnica publicada en NVD (en ingl\u00e9s): \u00abThe Bricksforge plugin for WordPress is vulnerable to unauthenticated arbitrary file upload in versions up to, and including, 3.1.8.9. This is due to insufficient validation of the attacker-controlled URL field in the &#8216;temporaryFileUploads&#8217; parameter during form submission. An unauthenticated attacker can first obtain a valid nonce via the bricksforge_regenerate_nonce AJAX endpoint, then upload a GIF\/PHP polyglot file to the temporary upload directory where MIME type validation is correctly performed. Subsequently, the attacker can submit a form with a crafted &#8216;temporaryFileUploads&#8217; parameter where the server-side file path points to the validated GIF file, but the attacker-controlled url field ends with a .php extension. This makes it possible for unauthenticated attackers to upload and execute arbitrary PHP code on the server.\u00bb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>II. Productos Afectados<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Producto<\/th><th>Versiones afectadas<\/th><th>Versi\u00f3n corregida<\/th><\/tr><\/thead><tbody><tr><td>Bricksforge para WordPress<\/td><td>3.1.8.9 y anteriores<\/td><td>3.1.8.10 o posterior<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>III. Acciones Requeridas<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Actualizar inmediatamente<\/strong><br>Actualizar Bricksforge a la versi\u00f3n 3.1.8.10 o posterior desde el canal oficial del fabricante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Mitigar inmediatamente si no es posible parchear<\/strong><br>Mientras se realiza la actualizaci\u00f3n, desactivar el plugin o bloquear en el WAF las solicitudes a <code>\/wp-json\/bricksforge\/v1\/form_submit<\/code> y a <code>\/wp-admin\/admin-ajax.php<\/code> con <code>action=bricksforge_form_submit<\/code> o <code>action=bricksforge_regenerate_nonce<\/code>. Impedir adem\u00e1s la ejecuci\u00f3n de archivos PHP en <code>\/wp-content\/uploads\/<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Verificar posible compromiso<\/strong><br>El parche cierra el vector de explotaci\u00f3n, pero no elimina un acceso que el atacante ya haya obtenido. Se recomienda:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Buscar archivos <code>.php<\/code>, <code>.phtml<\/code> o <code>.php5<\/code> inesperados en <code>\/wp-content\/uploads\/bricksforge\/tmp\/<\/code> y en el resto de <code>\/wp-content\/uploads\/<\/code>.<\/li>\n\n\n\n<li>Revisar los registros del servidor web en busca de env\u00edos repetidos a <code>\/wp-json\/bricksforge\/v1\/form_submit<\/code> que incluyan el par\u00e1metro <code>temporaryFileUploads<\/code>.<\/li>\n\n\n\n<li>Verificar la existencia de cuentas de administrador nuevas u ocultas, archivos en <code>\/wp-content\/mu-plugins\/<\/code> y conexiones salientes no habituales.<\/li>\n\n\n\n<li>Buscar en los registros tr\u00e1fico desde las direcciones IP indicadas a continuaci\u00f3n y reportar cualquier hallazgo a incidentes@cert.pa.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Direcciones IP asociadas a la explotaci\u00f3n seg\u00fan Patchstack (usar como indicadores en la revisi\u00f3n de registros; al tratarse de proxies rotativos, no deben ser el \u00fanico control de bloqueo):<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Direcci\u00f3n IP<\/th><\/tr><\/thead><tbody><tr><td>177.75.57[.]20<\/td><\/tr><tr><td>23.97.62[.]146<\/td><\/tr><tr><td>84.247.60[.]125<\/td><\/tr><tr><td>38.154.185[.]97<\/td><\/tr><tr><td>150.109.16[.]166<\/td><\/tr><tr><td>153.75.90[.]146<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>IV. Referencias<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>National Institute of Standards and Technology (NIST). National Vulnerability Database: CVE-2026-85097. <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2026-85097\">https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2026-85097<\/a><\/li>\n\n\n\n<li>SecurityWeek. Bricksforge WordPress Plugin Vulnerability Exploited in the Wild. <a href=\"https:\/\/www.securityweek.com\/bricksforge-wordpress-plugin-vulnerability-exploited-in-the-wild\/\">https:\/\/www.securityweek.com\/bricksforge-wordpress-plugin-vulnerability-exploited-in-the-wild\/<\/a><\/li>\n\n\n\n<li>The Hacker News. Attackers Exploit CVSS 10.0 Bricksforge WordPress Flaw Enabling Unauthenticated RCE. <a href=\"https:\/\/thehackernews.com\/2026\/10\/attackers-exploit-cvss-100-bricksforge.html\">https:\/\/thehackernews.com\/2026\/10\/attackers-exploit-cvss-100-bricksforge.html<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>V. Informaci\u00f3n de Contacto<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CSIRT PANAM\u00c1 \u00b7 Computer Security Incident Response Team<br>Autoridad Nacional para la Innovaci\u00f3n Gubernamental<br>E-Mail: incidentes@cert.pa \u00b7 info@cert.pa<br>Phone: +507 520-CERT (2378) \u00b7 Web: https:\/\/cert.pa \u00b7 X: @CSIRTPanama \u00b7 Key ID: 16F2B124<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fecha de emisi\u00f3n: 12 de octubre de 2026CVE ID: CVE-2026-85097Severidad: CR\u00cdTICA \u2014 CVSS 3.1: 9.8Vector CVSS: CVSS:3.1\/AV:N\/AC:L\/PR:N\/UI:N\/S:U\/C:H\/I:H\/A:HTipo de vulnerabilidad: CWE-434: [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":6128,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4],"tags":[76,72,290,246,68,14],"class_list":["post-6107","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-avisos-de-seguridad","tag-actualizaciones","tag-avisos-de-seguridad","tag-bricksforge","tag-critico","tag-vulnerabilidades","tag-wordpress","severidad-critico"],"_links":{"self":[{"href":"https:\/\/cert.pa\/index.php?rest_route=\/wp\/v2\/posts\/6107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cert.pa\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cert.pa\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cert.pa\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/cert.pa\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6107"}],"version-history":[{"count":1,"href":"https:\/\/cert.pa\/index.php?rest_route=\/wp\/v2\/posts\/6107\/revisions"}],"predecessor-version":[{"id":6115,"href":"https:\/\/cert.pa\/index.php?rest_route=\/wp\/v2\/posts\/6107\/revisions\/6115"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cert.pa\/index.php?rest_route=\/wp\/v2\/media\/6128"}],"wp:attachment":[{"href":"https:\/\/cert.pa\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cert.pa\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cert.pa\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}