{"id":9574,"date":"2026-09-11T09:15:00","date_gmt":"2026-09-11T07:15:00","guid":{"rendered":"https:\/\/www.hostingtg.com\/blog\/?p=9574"},"modified":"2026-09-10T18:46:14","modified_gmt":"2026-09-10T16:46:14","slug":"si-tienes-prestashop-necesitas-actualizar","status":"publish","type":"post","link":"https:\/\/www.hostingtg.com\/blog\/si-tienes-prestashop-necesitas-actualizar\/","title":{"rendered":"Si tienes PrestaShop, necesitas actualizar a la \u00faltima versi\u00f3n: CVE-2026-84186"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Hay <a href=\"https:\/\/www.hostingtg.com\/blog\/vulnerabilidad-en-prestashop-modulo-faceted-search\/\">vulnerabilidades<\/a> que llaman inmediatamente la atenci\u00f3n porque permiten ejecutar c\u00f3digo, acceder a una base de datos o tomar el control de determinadas funciones de una aplicaci\u00f3n. <strong>CVE-2026-84186 me parece especialmente interesante por otro motivo: pone en duda algo tan b\u00e1sico como saber desde qu\u00e9 direcci\u00f3n IP se est\u00e1 conectando realmente un visitante.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y eso es bastante m\u00e1s importante de lo que puede parecer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El problema afecta a la forma en la que PrestaShop obtiene la IP del visitante cuando una tienda funciona detr\u00e1s de determinados elementos de infraestructura, como un <strong><a href=\"https:\/\/www.hostingtg.com\/blog\/nginx-servidor-web-alto-rendimiento\/\">proxy inverso<\/a>, un balanceador de carga o una CDN<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En esas situaciones entra en juego informaci\u00f3n como la cabecera HTTP <code>X-Forwarded-For<\/code>. Si esa informaci\u00f3n no se procesa correctamente, un visitante puede conseguir que la aplicaci\u00f3n interprete una direcci\u00f3n IP diferente de la real.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A primera vista podr\u00edamos pensar: \u201cBueno, solamente es una IP\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El problema es que <strong>una direcci\u00f3n IP no siempre es un dato meramente informativo<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Muchas aplicaciones, m\u00f3dulos y sistemas de seguridad utilizan la IP para decidir si permiten una acci\u00f3n, bloquean una petici\u00f3n, registran un comportamiento como sospechoso o conceden acceso a determinados recursos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, si administras una tienda PrestaShop dentro de las ramas afectadas, <strong>yo no dejar\u00eda esta actualizaci\u00f3n para m\u00e1s adelante<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las versiones corregidas que debemos tomar como referencia son:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>PrestaShop 8.2.8<\/strong><\/li>\n\n\n\n<li><strong>PrestaShop 9.1.5<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pero actualizar es solamente una parte del trabajo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aprovechar\u00eda este problema para comprobar tambi\u00e9n c\u00f3mo est\u00e1 configurada la infraestructura situada delante de PrestaShop, especialmente si utilizas <strong>Cloudflare, otra CDN, un proxy inverso o un balanceador de carga<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Porque CVE-2026-84186 deja una lecci\u00f3n bastante clara: <strong>la seguridad de una tienda no termina al pulsar el bot\u00f3n de actualizar<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 es CVE-2026-84186 y por qu\u00e9 afecta a PrestaShop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CVE-2026-84186 est\u00e1 relacionada con la forma en la que PrestaShop determina la direcci\u00f3n IP desde la que procede una petici\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La ficha de VulDB identifica espec\u00edficamente <code>Tools::getRemoteAddr<\/code> como la funci\u00f3n afectada y describe el problema como explotable de forma remota.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para entender por qu\u00e9 esto importa, primero tenemos que pensar en c\u00f3mo llega normalmente una petici\u00f3n a una tienda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En una instalaci\u00f3n sencilla podr\u00edamos imaginar algo parecido a esto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Visitante \u2192 <a href=\"https:\/\/www.hostingtg.com\/blog\/prestashop-en-vps\/\" target=\"_blank\" rel=\"noreferrer noopener\">servidor web \u2192 PrestaShop<\/a><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">El servidor recibe directamente la conexi\u00f3n del visitante y puede obtener su direcci\u00f3n IP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, muchas tiendas actuales tienen una arquitectura diferente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Visitante \u2192 CDN \/ proxy \u2192 servidor web \u2192 PrestaShop<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed aparece un problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Desde el punto de vista del servidor, la conexi\u00f3n puede parecer que procede de la CDN o del proxy y no directamente del ordenador del visitante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Necesitamos, por tanto, alg\u00fan mecanismo que permita transportar hasta la aplicaci\u00f3n informaci\u00f3n sobre cu\u00e1l era la direcci\u00f3n IP original.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">El problema est\u00e1 en c\u00f3mo PrestaShop determina la IP real del visitante<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed es donde la cadena de confianza se vuelve especialmente importante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No basta con recibir una direcci\u00f3n IP. Hay que determinar <strong>qui\u00e9n nos est\u00e1 diciendo que esa es la direcci\u00f3n correcta<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso, es precisamente lo que m\u00e1s me interesa de CVE-2026-84186.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No estamos hablando \u00fanicamente de almacenar mal un dato. Estamos hablando de que la aplicaci\u00f3n puede terminar <strong>confiando en informaci\u00f3n sobre el origen de una petici\u00f3n que no deber\u00eda considerar fiable<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y existe una diferencia enorme entre ambas cosas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si una aplicaci\u00f3n registra incorrectamente el navegador utilizado por un visitante, probablemente tengamos un problema de calidad de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si interpreta incorrectamente una direcci\u00f3n IP y despu\u00e9s utiliza esa IP para tomar una decisi\u00f3n de seguridad, tenemos un problema completamente distinto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 papel juega <code>X-Forwarded-For<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>X-Forwarded-For<\/code> es una cabecera utilizada habitualmente cuando existe un intermediario entre el visitante y el servidor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Simplificando bastante, permite transportar informaci\u00f3n sobre la IP original a trav\u00e9s de proxies.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El concepto en s\u00ed no es problem\u00e1tico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El problema aparece cuando <strong>no est\u00e1 perfectamente definida la cadena de confianza<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si la infraestructura espera que un proxy a\u00f1ada o sobrescriba esa informaci\u00f3n, la aplicaci\u00f3n deber\u00eda poder distinguir los datos aportados por infraestructura de confianza de aquellos que un visitante puede introducir por su cuenta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y ese es uno de los puntos esenciales para entender CVE-2026-84186.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Por qu\u00e9 falsear una direcci\u00f3n IP es m\u00e1s importante de lo que parece<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando explico un problema de este tipo, creo que es f\u00e1cil infravalorarlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u201c\u00bfQu\u00e9 puede pasar porque aparezca otra IP?\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La pregunta correcta ser\u00eda otra:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfQu\u00e9 decisiones toma mi tienda utilizando esa IP?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ah\u00ed cambia completamente la valoraci\u00f3n del problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una direcci\u00f3n IP puede utilizarse simplemente para estad\u00edsticas, pero tambi\u00e9n puede intervenir en controles de acceso, restricciones, sistemas antifraude, detecci\u00f3n de comportamiento an\u00f3malo o procesos de auditor\u00eda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso el impacto real depender\u00e1 mucho de la tienda, de sus m\u00f3dulos y de la infraestructura que tenga alrededor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Controles de acceso y restricciones basadas en IP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Imaginemos una funcionalidad a la que solamente permitimos acceder desde determinadas direcciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La l\u00f3gica puede ser perfectamente v\u00e1lida:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Obtengo la IP.<\/li>\n\n\n\n<li>Compruebo si est\u00e1 autorizada.<\/li>\n\n\n\n<li>Permito o deniego el acceso.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">El problema aparece si el primer paso devuelve un dato en el que no podemos confiar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los pasos dos y tres pueden funcionar exactamente como fueron dise\u00f1ados y, aun as\u00ed, producir una decisi\u00f3n incorrecta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta es una de las razones por las que considero interesante esta vulnerabilidad: <strong>no necesariamente rompe el control de seguridad; puede romper el dato sobre el que ese control est\u00e1 tomando la decisi\u00f3n<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Modo mantenimiento y listas de IP permitidas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un ejemplo especialmente sencillo de visualizar es una tienda en modo mantenimiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Durante determinados trabajos podemos querer mantener la tienda cerrada al p\u00fablico mientras permitimos que desarrolladores, administradores o responsables del negocio accedan desde direcciones concretas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si alg\u00fan componente de ese control depende de una IP cuya procedencia puede falsearse, tenemos un escenario que merece revisi\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo mismo puede ocurrir con m\u00f3dulos o desarrollos personalizados que utilicen listas blancas de direcciones IP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No significa que cualquier instalaci\u00f3n tenga autom\u00e1ticamente todos estos problemas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Significa que <strong>conviene identificar cualquier funcionalidad de nuestra tienda que utilice la IP interpretada por PrestaShop como un dato de confianza<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Geolocalizaci\u00f3n, detecci\u00f3n de abuso y rate limiting<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Hay m\u00e1s ejemplos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una direcci\u00f3n IP puede participar en procesos relacionados con geolocalizaci\u00f3n, prevenci\u00f3n de fraude, detecci\u00f3n de abuso o limitaci\u00f3n de solicitudes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pensemos en un sistema que decide que una IP est\u00e1 realizando demasiadas peticiones y empieza a restringirla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si ese sistema toma directamente como referencia un identificador manipulable, su capacidad para diferenciar visitantes reales puede degradarse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La vulnerabilidad cobra entonces importancia no por \u201ccambiar un n\u00famero\u201d, sino porque <strong>ese n\u00famero puede formar parte de otras decisiones<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esa es la cuesti\u00f3n que yo revisar\u00eda en una tienda real.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo puede manipularse la IP cuando PrestaShop est\u00e1 detr\u00e1s de un proxy o CDN<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para entender el problema no necesitamos entrar en t\u00e9cnicas ofensivas ni reproducir un exploit.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo importante es comprender la arquitectura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Imaginemos esta cadena:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Visitante\n   \u2193\nCloudflare \/ CDN \/ Proxy\n   \u2193\nServidor web\n   \u2193\nPrestaShop<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cada componente debe saber qu\u00e9 informaci\u00f3n procede del anterior y en qu\u00e9 datos puede confiar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El servidor puede ver como origen directo la direcci\u00f3n del proxy. Para conservar la informaci\u00f3n del visitante, el proxy comunica la IP original mediante las cabeceras correspondientes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hasta ah\u00ed, todo normal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La cuesti\u00f3n aparece si un visitante tambi\u00e9n puede mandar cabeceras con ese tipo de informaci\u00f3n y estas llegan hasta PrestaShop sin que la infraestructura las sustituya o normalice adecuadamente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Visitante, proxy inverso y servidor: d\u00f3nde se rompe la cadena de confianza<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para m\u00ed, la mejor forma de pensar en este problema es como una <strong>cadena de confianza<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No basta con preguntar:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u00bfQu\u00e9 valor contiene <code>X-Forwarded-For<\/code>?<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n debemos preguntar:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u00bfQui\u00e9n ha escrito ese valor?<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">No es lo mismo una cabecera establecida por un componente de infraestructura que administramos que una entrada sobre la que el visitante ha podido influir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ese matiz parece peque\u00f1o, pero cambia completamente la seguridad del dise\u00f1o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una aplicaci\u00f3n deber\u00eda confiar \u00fanicamente en informaci\u00f3n de forwarding procedente de intermediarios que realmente reconoce como fiables.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">El problema de confiar en una cabecera enviada por el propio visitante<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este es el escenario que debemos evitar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si la aplicaci\u00f3n termina tomando como IP real un valor proporcionado por el propio cliente, estamos permitiendo indirectamente que ese cliente influya sobre su identidad de red desde el punto de vista de la aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y entonces volvemos a la pregunta anterior:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfqu\u00e9 hacemos despu\u00e9s con esa IP?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si solamente la imprimimos en una p\u00e1gina de estad\u00edsticas, el impacto ser\u00e1 limitado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si la utilizamos para decidir permisos, bloquear solicitudes o registrar evidencias de un incidente, las consecuencias cambian.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cloudflare, balanceadores y proxies inversos: estar detr\u00e1s de ellos no basta<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed hay una idea que considero especialmente importante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Usar Cloudflare no convierte autom\u00e1ticamente una arquitectura en segura.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo mismo ocurre con cualquier proxy inverso o balanceador.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos instalar una capa muy potente delante de PrestaShop y seguir teniendo una configuraci\u00f3n incorrecta detr\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay que revisar qu\u00e9 cabeceras recibe nuestro servidor, qu\u00e9 componente las establece, cu\u00e1les sobrescribe la infraestructura y cu\u00e1les acepta finalmente la aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso aprovechar\u00eda esta actualizaci\u00f3n para revisar la arquitectura completa y no \u00fanicamente la versi\u00f3n instalada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Los logs tambi\u00e9n pueden perder fiabilidad<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hay una consecuencia de CVE-2026-84186 que me preocupa especialmente: <strong>la trazabilidad<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando ocurre un incidente de seguridad, uno de los primeros sitios a los que solemos acudir son los registros.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Queremos saber qu\u00e9 ocurri\u00f3, cu\u00e1ndo ocurri\u00f3, qu\u00e9 URLs se solicitaron, qu\u00e9 cuentas participaron y desde qu\u00e9 direcciones se originaron determinadas peticiones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La IP aparece muchas veces como una pieza importante de ese puzle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero \u00bfqu\u00e9 ocurre cuando tenemos dudas sobre c\u00f3mo se obtuvo?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u00e9 ocurre cuando investigas un incidente<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Imaginemos que estamos analizando una actividad sospechosa y encontramos varias peticiones asociadas a una direcci\u00f3n determinada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es tentador asumir inmediatamente:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Esta era la IP del atacante.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Pero en una arquitectura con proxies, cabeceras de forwarding y aplicaciones intermedias, debemos ser m\u00e1s cuidadosos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si el valor registrado por una determinada capa pudo estar influido por datos enviados por el cliente, <strong>esa IP deja de poder tratarse autom\u00e1ticamente como una evidencia totalmente fiable del origen real<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso, ese aspecto me parece casi tan importante como cualquier control de acceso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Porque afecta a lo que ocurre despu\u00e9s del ataque.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos tener m\u00e1s dificultades para reconstruir los hechos, correlacionar eventos entre distintos sistemas o diferenciar una direcci\u00f3n leg\u00edtima de otra introducida para generar ruido.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por qu\u00e9 una IP registrada no siempre equivale al origen real de la petici\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Esto tampoco significa que todos los logs de una tienda pasen a ser in\u00fatiles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una infraestructura suele generar registros en diferentes puntos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CDN.<\/li>\n\n\n\n<li>Proxy.<\/li>\n\n\n\n<li>Balanceador.<\/li>\n\n\n\n<li>Servidor web.<\/li>\n\n\n\n<li>Aplicaci\u00f3n.<\/li>\n\n\n\n<li>Sistemas de seguridad adicionales.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Precisamente por eso, cuando investigamos un incidente, es recomendable <strong>correlacionar diferentes fuentes<\/strong> en lugar de asumir que un \u00fanico campo contiene toda la verdad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una CDN puede disponer de informaci\u00f3n que no se est\u00e1 registrando de la misma manera dentro de PrestaShop.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un proxy puede conocer la conexi\u00f3n recibida directamente mientras que la aplicaci\u00f3n trabaja con una cabecera reenviada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">CVE-2026-84186 sirve como buen recordatorio de una regla m\u00e1s general: <strong>registrar una IP y conocer realmente el origen de una petici\u00f3n no son necesariamente la misma cosa<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 versiones de PrestaShop est\u00e1n afectadas por CVE-2026-84186<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed conviene evitar complicaciones innecesarias.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si administras una tienda dentro de las ramas afectadas, las versiones corregidas que debemos tomar como referencia son:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PrestaShop 8.2.8<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">y<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PrestaShop 9.1.5<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tu instalaci\u00f3n est\u00e1 dentro de una de las ramas afectadas y todav\u00eda no incorpora la correcci\u00f3n, mi recomendaci\u00f3n ser\u00eda planificar la actualizaci\u00f3n cuanto antes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No dejar\u00eda una vulnerabilidad de este tipo pendiente simplemente porque no parezca tan espectacular como una ejecuci\u00f3n remota de c\u00f3digo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como hemos visto, su importancia depende de lo que nuestra tienda haga con la direcci\u00f3n IP obtenida.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PrestaShop 8 y la actualizaci\u00f3n a 8.2.8<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para instalaciones que deban permanecer en la rama 8, <strong>PrestaShop 8.2.8<\/strong> es la versi\u00f3n corregida que debemos tener como referencia para este problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero actualizar una tienda de comercio electr\u00f3nico requiere algo m\u00e1s de cuidado que actualizar una aplicaci\u00f3n cualquiera.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de tocar producci\u00f3n comprobar\u00eda al menos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>versi\u00f3n exacta instalada;<\/li>\n\n\n\n<li>compatibilidad de m\u00f3dulos;<\/li>\n\n\n\n<li>compatibilidad del tema;<\/li>\n\n\n\n<li>modificaciones del core, si existen;<\/li>\n\n\n\n<li>overrides;<\/li>\n\n\n\n<li>personalizaciones;<\/li>\n\n\n\n<li>versi\u00f3n de PHP y entorno;<\/li>\n\n\n\n<li>estrategia de copia de seguridad;<\/li>\n\n\n\n<li>posibilidad de probar previamente en staging.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No utilizar\u00eda una vulnerabilidad como excusa para realizar una actualizaci\u00f3n a ciegas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La actualizaci\u00f3n es importante, pero tambi\u00e9n necesitamos que la tienda siga funcionando despu\u00e9s.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PrestaShop 9 y la actualizaci\u00f3n a 9.1.5<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Para la rama 9, la versi\u00f3n corregida indicada es <strong>PrestaShop 9.1.5<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El enfoque ser\u00eda el mismo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Primero identificar exactamente d\u00f3nde estamos y despu\u00e9s llevar la instalaci\u00f3n a una versi\u00f3n que incluya la correcci\u00f3n, siguiendo el procedimiento adecuado para nuestro entorno.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay otra precauci\u00f3n importante: no asumir\u00eda que \u201cmi hosting se encarga de todo\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un proveedor puede gestionar sistema operativo, servidor web o infraestructura, pero eso no implica necesariamente que actualice nuestra aplicaci\u00f3n, nuestros m\u00f3dulos o nuestras personalizaciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>La responsabilidad de comprobar qu\u00e9 versi\u00f3n ejecuta realmente la tienda sigue siendo importante.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo solucionar CVE-2026-84186 en PrestaShop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La acci\u00f3n principal es bastante clara:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>actualizar PrestaShop a una versi\u00f3n que incluya la correcci\u00f3n.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero yo separar\u00eda el proceso en varias fases para reducir riesgos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Actualiza primero a una versi\u00f3n corregida<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El objetivo inmediato es dejar de utilizar una versi\u00f3n vulnerable dentro de las ramas afectadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para ello tomar\u00eda como referencia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>8.2.8<\/strong> en PrestaShop 8.<\/li>\n\n\n\n<li><strong>9.1.5<\/strong> en PrestaShop 9.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No retrasar\u00eda innecesariamente la actualizaci\u00f3n porque \u201cla tienda est\u00e1 detr\u00e1s de <a href=\"https:\/\/www.hostingtg.com\/blog\/que-es-cloudflare\/\">Cloudflare<\/a>\u201d o porque exista un firewall delante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las capas adicionales de seguridad son \u00fatiles, pero no sustituyen una correcci\u00f3n en la propia aplicaci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Haz una copia de seguridad antes de actualizar<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de realizar una actualizaci\u00f3n importante en producci\u00f3n, quiero poder volver atr\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como m\u00ednimo, conservar\u00eda:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>archivos de la tienda;<\/li>\n\n\n\n<li>base de datos;<\/li>\n\n\n\n<li>configuraci\u00f3n relevante;<\/li>\n\n\n\n<li>personalizaciones;<\/li>\n\n\n\n<li>informaci\u00f3n necesaria para restaurar el servicio.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Y no me limitar\u00eda a comprobar que \u201cel backup ha terminado\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una copia de seguridad solamente es realmente \u00fatil si sabemos que podemos restaurarla.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprueba m\u00f3dulos, tema y personalizaciones<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PrestaShop rara vez funciona completamente solo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Normalmente tenemos m\u00f3dulos de pago, log\u00edstica, facturaci\u00f3n, SEO, anal\u00edtica, feeds, marketplaces, ERP, CRM y muchas otras integraciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso comprobar\u00eda compatibilidad antes del cambio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Especialmente si la tienda genera una parte importante de la facturaci\u00f3n del negocio, realizar\u00eda primero el proceso en un entorno de pruebas lo m\u00e1s parecido posible a producci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Verifica la tienda despu\u00e9s de la actualizaci\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de actualizar no me quedar\u00eda \u00fanicamente con un mensaje de \u201cactualizaci\u00f3n completada\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Probar\u00eda al menos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>navegaci\u00f3n por el cat\u00e1logo;<\/li>\n\n\n\n<li>inicio de sesi\u00f3n;<\/li>\n\n\n\n<li>carrito;<\/li>\n\n\n\n<li>checkout;<\/li>\n\n\n\n<li>m\u00e9todos de pago;<\/li>\n\n\n\n<li>env\u00edo;<\/li>\n\n\n\n<li>correos;<\/li>\n\n\n\n<li>\u00e1rea de administraci\u00f3n;<\/li>\n\n\n\n<li>tareas autom\u00e1ticas importantes;<\/li>\n\n\n\n<li>integraciones externas;<\/li>\n\n\n\n<li>logs.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Y para esta vulnerabilidad a\u00f1adir\u00eda una comprobaci\u00f3n adicional:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>verificar c\u00f3mo est\u00e1 detectando PrestaShop la direcci\u00f3n IP del visitante.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Actualizar PrestaShop no es suficiente: revisa tambi\u00e9n tu infraestructura<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Esta es probablemente la parte m\u00e1s importante del art\u00edculo despu\u00e9s de la actualizaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Podemos corregir CVE-2026-84186 y aun as\u00ed conservar una infraestructura mal configurada.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Son dos problemas diferentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La versi\u00f3n corregida resuelve el comportamiento vulnerable de PrestaShop, pero nuestra CDN, nuestro proxy o nuestro balanceador siguen teniendo que tratar correctamente las cabeceras que reciben.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comprueba qui\u00e9n puede establecer <code>X-Forwarded-For<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yo empezar\u00eda aqu\u00ed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Necesitamos saber:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>qu\u00e9 componente recibe directamente las conexiones de Internet;<\/li>\n\n\n\n<li>qu\u00e9 cabeceras acepta;<\/li>\n\n\n\n<li>cu\u00e1les elimina;<\/li>\n\n\n\n<li>cu\u00e1les sobrescribe;<\/li>\n\n\n\n<li>cu\u00e1les a\u00f1ade;<\/li>\n\n\n\n<li>qu\u00e9 ve finalmente nuestro servidor;<\/li>\n\n\n\n<li>qu\u00e9 informaci\u00f3n considera fiable PrestaShop.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No deber\u00edamos confiar en una cabecera simplemente porque tenga un nombre conocido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La confianza debe proceder de la <strong>arquitectura<\/strong>, no del nombre del encabezado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configura correctamente tu CDN, proxy inverso o balanceador<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Una configuraci\u00f3n s\u00f3lida deber\u00eda permitirnos identificar con claridad qu\u00e9 intermediarios son de confianza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, nuestra infraestructura frontal deber\u00eda controlar la informaci\u00f3n que reenv\u00eda hacia la aplicaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si cualquier visitante puede introducir un valor que atraviesa intacto todas nuestras capas y termina siendo interpretado como informaci\u00f3n fiable del proxy, tenemos un problema de dise\u00f1o.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Aseg\u00farate de que las cabeceras se sobrescriben desde infraestructura de confianza<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este punto merece especial atenci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si utilizamos una infraestructura frontal para informar de la IP real, queremos que sea <strong>esa infraestructura<\/strong> la encargada de establecer el dato en el que vamos a confiar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No el visitante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es exactamente la clase de detalle que puede pasar desapercibido cuando desplegamos una CDN siguiendo un tutorial r\u00e1pido y despu\u00e9s damos por hecho que todo est\u00e1 protegido.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Revisa logs y controles que dependen de la direcci\u00f3n IP<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s buscar\u00eda cualquier lugar donde la IP tenga consecuencias:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>accesos restringidos;<\/li>\n\n\n\n<li>modo mantenimiento;<\/li>\n\n\n\n<li>m\u00f3dulos antifraude;<\/li>\n\n\n\n<li>sistemas de bloqueo;<\/li>\n\n\n\n<li>geolocalizaci\u00f3n;<\/li>\n\n\n\n<li>limitadores de peticiones;<\/li>\n\n\n\n<li>monitorizaci\u00f3n;<\/li>\n\n\n\n<li>registros;<\/li>\n\n\n\n<li>desarrollos personalizados.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No porque todos ellos sean vulnerables autom\u00e1ticamente, sino porque son los puntos donde <strong>una IP incorrecta puede tener consecuencias reales<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una tienda puede estar perfectamente actualizada y continuar teniendo una mala configuraci\u00f3n de infraestructura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>La seguridad no termina al pulsar el bot\u00f3n de actualizar.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 comprobar\u00eda yo despu\u00e9s de aplicar la actualizaci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de instalar la versi\u00f3n corregida, har\u00eda algunas comprobaciones espec\u00edficas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No se trata solamente de confirmar que la web abre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quiero saber que la cadena completa funciona como espero.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">La IP que realmente recibe PrestaShop<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Primero comprobar\u00eda qu\u00e9 direcci\u00f3n IP est\u00e1 interpretando la aplicaci\u00f3n en condiciones normales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si accedo a trav\u00e9s de la CDN o del proxy, quiero confirmar que PrestaShop recibe la IP correcta y no simplemente la direcci\u00f3n de la infraestructura intermedia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero adem\u00e1s quiero comprobar que ese valor procede de una fuente en la que realmente puedo confiar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Son dos comprobaciones distintas:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfEs correcta la IP?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">y<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfpuede un visitante influir indebidamente sobre ella?<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">El comportamiento detr\u00e1s de Cloudflare o del proxy<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si utilizo Cloudflare, un proxy inverso o un balanceador, revisar\u00eda c\u00f3mo viajan las cabeceras entre cada componente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No asumir\u00eda que la configuraci\u00f3n por defecto es necesariamente la adecuada para mi arquitectura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n documentar\u00eda el funcionamiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dentro de seis meses puede cambiar un servidor, una CDN, un proxy o una persona del equipo. Tener claro qu\u00e9 componente es responsable de conservar la IP real evita muchos problemas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Restricciones por IP y accesos en modo mantenimiento<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s probar\u00eda cualquier funcionalidad importante que dependa de direcciones IP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Especialmente:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>accesos administrativos restringidos;<\/li>\n\n\n\n<li>listas de IP autorizadas;<\/li>\n\n\n\n<li>accesos durante mantenimiento;<\/li>\n\n\n\n<li>m\u00f3dulos que hagan controles espec\u00edficos;<\/li>\n\n\n\n<li>herramientas internas.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Quiero asegurarme de que siguen funcionando y de que utilizan la informaci\u00f3n adecuada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Monitorizaci\u00f3n y registros<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Por \u00faltimo, revisar\u00eda los logs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comparar\u00eda, cuando sea posible, la informaci\u00f3n registrada por diferentes capas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si Cloudflare registra una cosa, el proxy otra y la aplicaci\u00f3n una tercera, quiero entender el motivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No necesariamente tienen que almacenar exactamente el mismo dato, pero <strong>s\u00ed necesitamos comprender de d\u00f3nde sale cada direcci\u00f3n IP que aparece en nuestros registros<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso facilita much\u00edsimo cualquier an\u00e1lisis posterior.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">CVE-2026-84186 demuestra que la IP tambi\u00e9n forma parte de la seguridad<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">CVE-2026-84186 me parece un buen ejemplo de esas vulnerabilidades que esconden una lecci\u00f3n m\u00e1s interesante que el fallo concreto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Estamos acostumbrados a considerar sensibles las contrase\u00f1as, sesiones, tokens, permisos o consultas a bases de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero a veces dejamos en segundo plano informaci\u00f3n aparentemente sencilla como la direcci\u00f3n IP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y una IP puede convertirse en un <strong>dato de seguridad<\/strong> en el momento en el que empezamos a tomar decisiones utilizando ese valor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si utilizamos la direcci\u00f3n para controlar accesos, detectar abuso, aplicar restricciones o investigar incidentes, necesitamos tener garant\u00edas razonables sobre c\u00f3mo se ha obtenido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, si gestionara ahora mismo una tienda PrestaShop dentro de las ramas afectadas, actuar\u00eda en dos niveles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El primero es inmediato:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>actualizar\u00eda a la versi\u00f3n corregida correspondiente.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PrestaShop <strong>8.2.8<\/strong> o <strong>9.1.5<\/strong>, seg\u00fan la rama.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El segundo es m\u00e1s amplio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>revisar\u00eda c\u00f3mo est\u00e1 configurada la infraestructura que existe delante de la tienda.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comprobar\u00eda proxies, CDN, balanceadores y, especialmente, el tratamiento de las cabeceras utilizadas para identificar la IP original.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No basta con colocar una CDN delante de PrestaShop y asumir que desde ese momento toda la cadena es segura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay que definir qui\u00e9n puede proporcionar cada dato y en qu\u00e9 sistemas confiamos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para m\u00ed, esa es la ense\u00f1anza m\u00e1s importante de CVE-2026-84186:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>una aplicaci\u00f3n puede estar tomando una decisi\u00f3n perfectamente l\u00f3gica sobre un dato que nunca deber\u00eda haber considerado fiable.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Corregir la vulnerabilidad es imprescindible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entender por qu\u00e9 se produjo nos ayuda a evitar muchas otras.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dudas de la comunidad<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 es CVE-2026-84186?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">CVE-2026-84186 es una vulnerabilidad relacionada con la forma en la que PrestaShop determina la direcci\u00f3n IP de un visitante en determinados escenarios donde existen proxies, CDNs o balanceadores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El problema permite que informaci\u00f3n relacionada con <code>X-Forwarded-For<\/code> pueda influir indebidamente en la IP que termina considerando la aplicaci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 versiones de PrestaShop corrigen CVE-2026-84186?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las versiones corregidas indicadas son <strong>PrestaShop 8.2.8<\/strong> y <strong>PrestaShop 9.1.5<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si gestionas una instalaci\u00f3n dentro de las ramas afectadas, conviene comprobar la versi\u00f3n exacta y actualizar a una versi\u00f3n que incorpore la correcci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfEs peligroso manipular <code>X-Forwarded-For<\/code>?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Depende de c\u00f3mo utilice la aplicaci\u00f3n la informaci\u00f3n obtenida.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si la direcci\u00f3n IP participa en controles de acceso, sistemas antifraude, rate limiting, restricciones, geolocalizaci\u00f3n, monitorizaci\u00f3n o registros, manipular la IP interpretada por la aplicaci\u00f3n puede reducir la efectividad de esos mecanismos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfMe afecta si utilizo Cloudflare?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizar Cloudflare no permite concluir autom\u00e1ticamente que una instalaci\u00f3n est\u00e9 afectada o protegida.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo importante es <strong>c\u00f3mo est\u00e1n configuradas las cabeceras entre el visitante, Cloudflare, el servidor y PrestaShop<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La infraestructura frontal debe gestionar correctamente las cabeceras de forwarding y evitar confiar directamente en valores que pueda controlar el visitante.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfEs suficiente con actualizar PrestaShop?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Actualizar a una versi\u00f3n corregida es la acci\u00f3n principal frente a CVE-2026-84186, pero yo aprovechar\u00eda la intervenci\u00f3n para revisar tambi\u00e9n la infraestructura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comprueba la CDN, proxy inverso o balanceador, identifica qu\u00e9 cabeceras llegan hasta PrestaShop y aseg\u00farate de que solamente conf\u00edas en intermediarios leg\u00edtimos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuede CVE-2026-84186 afectar a los logs?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Puede afectar a la confianza que depositamos en determinados registros si estos almacenan como IP de origen un valor que ha podido ser influido por el visitante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso no significa que todos los logs sean in\u00fatiles. Significa que durante una investigaci\u00f3n conviene contrastar la informaci\u00f3n registrada por las diferentes capas de la infraestructura.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfC\u00f3mo puedo comprobar la IP real que est\u00e1 utilizando PrestaShop?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La comprobaci\u00f3n debe realizarse teniendo en cuenta toda la arquitectura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No basta con observar qu\u00e9 IP devuelve la aplicaci\u00f3n. Hay que verificar tambi\u00e9n de d\u00f3nde procede ese valor, qu\u00e9 proxy o CDN lo ha establecido y si las cabeceras potencialmente enviadas por el visitante se eliminan, sustituyen o procesan correctamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El objetivo no es solamente que PrestaShop muestre <strong>una IP correcta<\/strong>, sino que esa IP proceda de <strong>una cadena de confianza correctamente configurada<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Opini\u00f3n Personal<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>CVE-2026-84186 me parece una vulnerabilidad mucho m\u00e1s interesante de lo que su descripci\u00f3n inicial puede hacer pensar<\/strong>. No estamos ante un fallo espectacular de ejecuci\u00f3n de c\u00f3digo ni ante una brecha directa de base de datos, pero s\u00ed ante un problema que afecta a algo fundamental: la confianza que depositamos en la direcci\u00f3n IP de un visitante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y precisamente ah\u00ed est\u00e1 la lecci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Muchas veces damos por hecho que, si utilizamos Cloudflare, una CDN, un proxy inverso o un balanceador, la infraestructura ya est\u00e1 correctamente protegida. Sin embargo, este tipo de fallos demuestra que <strong>la seguridad tambi\u00e9n depende de c\u00f3mo configuramos la relaci\u00f3n de confianza entre todas esas capas<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, yo no me limitar\u00eda a actualizar PrestaShop. Aprovechar\u00eda la ocasi\u00f3n para revisar qu\u00e9 cabeceras llegan al servidor, qui\u00e9n puede modificarlas y qu\u00e9 sistemas utilizan la IP para tomar decisiones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Actualizar es imprescindible, pero entender por qu\u00e9 existe la vulnerabilidad puede ayudarnos a detectar otros problemas que todav\u00eda no tienen un CVE asociado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfUtilizas Cloudflare, un proxy inverso o un balanceador delante de tu tienda PrestaShop? \u00bfHas revisado alguna vez c\u00f3mo est\u00e1 detectando realmente la IP de tus visitantes?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">D\u00e9jame tu experiencia o tus dudas en los comentarios. Me interesa especialmente saber c\u00f3mo tienes montada tu infraestructura y si este tipo de vulnerabilidades te ha hecho replantearte alguna configuraci\u00f3n de seguridad.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hay vulnerabilidades que llaman inmediatamente la atenci\u00f3n porque permiten ejecutar c\u00f3digo, acceder a una base de datos o tomar el control de determinadas funciones de una aplicaci\u00f3n. CVE-2026-84186 me parece especialmente interesante por otro motivo: pone en duda algo tan b\u00e1sico como saber desde qu\u00e9 direcci\u00f3n IP se est\u00e1 conectando realmente un visitante. Y eso [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9575,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"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":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"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":""},"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-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":"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":""},"mobile":{"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":""}},"footnotes":""},"categories":[1],"tags":[317,321,236,1272],"class_list":["post-9574","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","tag-actualizacion","tag-prestashop","tag-seguridad","tag-vulnerabilidad"],"_links":{"self":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/comments?post=9574"}],"version-history":[{"count":1,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9574\/revisions"}],"predecessor-version":[{"id":9576,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/9574\/revisions\/9576"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media\/9575"}],"wp:attachment":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media?parent=9574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/categories?post=9574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/tags?post=9574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}