[{"data":1,"prerenderedAt":182},["ShallowReactive",2],{"seo-verification":3,"blog-cve-2026-6471-postgresql-parchear-instancias-self-hosted-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-cve-2026-6471-postgresql-parchear-instancias-self-hosted-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":120,"ctaBody":121,"ctaButton":122,"ctaUrl":123,"relatedPosts":124},339,"cve-2026-6471-postgresql-parchear-instancias-self-hosted",{"fr":12,"en":13,"ar":14,"es":10},"postgresql-cve-2026-6471-patch-instances-self-hosted","postgresql-cve-2026-6471-patch-self-hosted-instances","تصحيح-ثغرة-postgresql-cve-2026-6471-الخوادم-الذاتية","CVE-2026-6471 y -14669: parchear PostgreSQL en VPS","Dos fallos críticos de PostgreSQL (13 agosto 2026): acceso de replicación → RCE y heap overflow → RCE. Parchear instancias con apt o Docker.",7,1,false,"2026-09-08T00:00:00+00:00","2026-09-08T21:59:59+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"Seguridad y monitorización","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fpostgresql-cve-2026-6471-patch-instances-self-hosted-poster.svg","El 13 de agosto de 2026, el equipo de PostgreSQL publicó correcciones para 28 vulnerabilidades, entre ellas dos que permiten a un atacante ejecutar código arbitrario con los privilegios del proceso de base de datos. CVE-2026-6471 explota la decodificación lógica para cargar una librería arbitraria — un vector presente desde PostgreSQL 9.4. CVE-2026-14669 es un desbordamiento de buffer en el heap en `to_char()` que puede ser activado por cualquier usuario autenticado. Si aloja PostgreSQL usted mismo — dentro de una instancia de Supabase, NocoDB, Gitea, Twenty u otra aplicación — aquí se explica cómo evaluar su exposición y aplicar el parche.",[35,39,71,74,77,96,108,111,114,117],{"type":36,"title":37,"body":38},"h2","Qué hacen estas dos vulnerabilidades","CVE-2026-6471 (CVSS 7.2) afecta al mecanismo de decodificación lógica introducido en PostgreSQL 9.4. Una cuenta con el atributo REPLICATION puede especificar un plugin de salida arbitrario al crear un slot de replicación lógica. Antes del parche, PostgreSQL cargaba el archivo solicitado mediante `dlopen` sin verificar su procedencia, lo que permitía ejecutar código con los privilegios de la cuenta del sistema `postgres`. El atacante no necesita acceso de red directo a su instancia: basta con un par de replicación comprometido, una herramienta CDC o un usuario interno con el atributo REPLICATION. El parche añade un parámetro `output_plugin_libraries` que enumera las librerías permitidas — por defecto `pgoutput` y `test_decoding` únicamente.\n\nCVE-2026-14669 (CVSS 8.8) es un desbordamiento de buffer en el heap en la función `to_char(timestamptz)`. La función construye un buffer de trabajo a partir de la cadena de formato, pero las rutas de procesamiento de zonas horarias POSIX copian la abreviatura proporcionada por el usuario en ese buffer sin verificar la longitud. Cualquier usuario autenticado ordinario puede activar la vulnerabilidad pasando una abreviatura de zona horaria excesivamente larga, lo que sobrescribe estructuras adyacentes del heap y desvía la ejecución para lograr ejecución de código arbitrario con los privilegios del usuario de sistema `postgres`.",{"type":40,"title":41,"headers":42,"rows":46},"comparison","Comparativa de los dos CVE",[43,44,45],"Criterio","CVE-2026-6471","CVE-2026-14669",[47,51,55,58,62,65,68],[48,49,50],"Puntuación CVSS","7.2 (Alto)","8.8 (Alto)",[52,53,54],"Componente","Decodificación lógica","`to_char(timestamptz)`",[56,57,57],"Vector de ataque","Red",[59,60,61],"Privilegio mínimo requerido","Atributo REPLICATION","Usuario autenticado",[63,64,64],"¿Requiere acceso público?","No",[66,67,67],"Tipo de impacto","Ejecución de código arbitrario",[69,70,70],"Fecha de corrección","2026-08-13",{"type":36,"title":72,"body":73},"Versiones afectadas y versiones corregidas","Ambos CVE afectan a todas las ramas mantenidas de PostgreSQL. Las versiones corregidas, publicadas simultáneamente el 13 de agosto de 2026, son: PostgreSQL 18.6, 17.11, 16.15, 15.19 y 14.24. Cualquier instancia que funcione con una versión anterior a estos números está expuesta. PostgreSQL 13 y anteriores han alcanzado el fin de vida y ya no reciben parches. Las aplicaciones que incluyen PostgreSQL — Supabase, NocoDB, Gitea, Twenty CRM, Planka — están afectadas si aún no han actualizado su imagen base.",{"type":36,"title":75,"body":76},"Antes del parche: auditar los roles de replicación","Antes de aplicar el parche, conviene saber cuántas cuentas tienen el atributo REPLICATION en sus instancias. La siguiente consulta lista todos los roles afectados:\n\n`SELECT rolname, rolreplication, rolsuper FROM pg_roles WHERE rolreplication = true OR rolsuper = true ORDER BY rolsuper DESC, rolname;`\n\nSi encuentra cuentas con REPLICATION que no sirven para una replicación activa (backup, CDC, monitorización), revoque el atributo: `ALTER ROLE nombre_del_rol NOREPLICATION;`. Es una medida de mitigación parcial mientras se espera el parche, y una buena práctica permanente.",{"type":78,"title":79,"steps":80},"steps","Parchear mediante apt en Debian y Ubuntu",[81,84,87,90,93],{"title":82,"body":83},"Verificar la versión actual","Conéctese a su instancia y compruebe la versión actual: `psql -U postgres -c 'SELECT version();'`. Anote la rama (14, 15, 16, 17 o 18) para instalar el paquete de destino correcto.",{"title":85,"body":86},"Asegurarse de que el repositorio PGDG está configurado","Los repositorios estándar de Debian y Ubuntu suelen incluir versiones desactualizadas. Para obtener los parches más recientes, utilice el repositorio oficial de PostgreSQL. Si aún no está configurado: `sudo apt install -y postgresql-common && sudo \u002Fusr\u002Fshare\u002Fpostgresql-common\u002Fpgdg\u002Fapt.postgresql.org.sh`.",{"title":88,"body":89},"Actualizar los paquetes","Una actualización menor (17.10 → 17.11, 16.14 → 16.15, etc.) no requiere `pg_upgradecluster` y conserva sus datos en su lugar. Ejecute: `sudo apt update && sudo apt install postgresql-17` (sustituya `17` por su rama). Para otras ramas: `sudo apt install postgresql-16`, `postgresql-15`, `postgresql-14` según corresponda.",{"title":91,"body":92},"Reiniciar el servicio","El servicio debe reiniciarse para cargar el nuevo binario: `sudo systemctl restart postgresql`. A continuación, verifique que el servicio se ha reiniciado correctamente: `sudo systemctl status postgresql`.",{"title":94,"body":95},"Confirmar la versión después del parche","Vuelva a conectarse y verifique que la versión mostrada corresponde al parche: `psql -U postgres -c 'SELECT version();'`. Debería ver 17.11, 16.15, 15.19, 14.24 o 18.6 según su rama.",{"type":78,"title":97,"steps":98},"Parchear mediante Docker",[99,102,105],{"title":100,"body":101},"Descargar la imagen corregida","Las imágenes oficiales `postgres` en Docker Hub han sido actualizadas con las versiones corregidas. Descargue la imagen correspondiente a su rama: `docker pull postgres:17.11`, o con la etiqueta menor de su rama (`postgres:16.15`, `postgres:15.19`, `postgres:14.24`). Para imágenes Alpine: `docker pull postgres:17.11-alpine`.",{"title":103,"body":104},"Reiniciar el contenedor","Si usa Docker Compose, actualice la etiqueta de imagen en su `docker-compose.yml` y luego: `docker compose pull && docker compose up -d`. Para un contenedor lanzado directamente: `docker stop postgres-container && docker rm postgres-container`, y luego relánzelo con la nueva imagen. Sus datos permanecen en el volumen montado — verifique que el volumen está declarado antes de eliminar el contenedor.",{"title":106,"body":107},"Verificar la versión dentro del contenedor","Conéctese al contenedor y confirme la versión: `docker exec -it postgres-container psql -U postgres -c 'SELECT version();'`. La salida debe mostrar la versión corregida.",{"type":36,"title":109,"body":110},"Medidas de mitigación si el parche es temporalmente imposible","Si no puede reiniciar la instancia de inmediato, tres medidas reducen la exposición a CVE-2026-6471 sin aplicar el parche:\n\nPrimero, revocar el atributo REPLICATION de las cuentas que no lo necesitan (`ALTER ROLE nombre NOREPLICATION;`). Segundo, restringir las entradas de replicación en `pg_hba.conf` a las direcciones IP de los pares legítimos únicamente — sustituir una regla `host replication all 0.0.0.0\u002F0` por entradas específicas para cada host autorizado. Tercero, si su instancia no usa la replicación lógica en absoluto, puede establecer `wal_level = replica` en `postgresql.conf` — esto deshabilita la decodificación lógica y cierra el vector de ataque de CVE-2026-6471.\n\nPara CVE-2026-14669, no hay ninguna mitigación a nivel de aplicación documentada: el único remedio es actualizar el binario.",{"type":36,"title":112,"body":113},"Verificar las aplicaciones que incluyen PostgreSQL","Supabase, NocoDB, Gitea, Twenty CRM y Planka incluyen PostgreSQL en sus imágenes Docker o charts de Helm. Para estas aplicaciones, actualizar PostgreSQL significa actualizar la imagen de la aplicación en sí. Consulte las notas de versión de cada aplicación: desde el 13 de agosto de 2026, las distribuciones que publicaron una actualización deberían haber integrado PostgreSQL 17.11, 16.15 o equivalente. Si no hay actualización disponible para su aplicación, puede desplegar un contenedor PostgreSQL separado en la versión corregida y apuntar la aplicación hacia él.",{"type":115,"body":116},"tip","El comando `SELECT version();` en psql no es suficiente para confirmar que el parche está activo si coexisten varios binarios de PostgreSQL en el mismo host. Verifique qué binario está ejecutándose realmente: `pg_lsclusters` en Debian\u002FUbuntu lista todos los clústeres con su versión. Asegúrese de que el clúster activo usa el binario actualizado, no un binario residual de una instalación anterior.",{"type":36,"title":118,"body":119},"Desplegar PostgreSQL con acceso root para aplicar parches usted mismo","En un alojamiento compartido o en un entorno PaaS, no tiene acceso al binario de PostgreSQL: la actualización depende de su proveedor. En un VPS con acceso root, usted aplica este parche en menos de diez minutos, sin depender de terceros. Usted elige la ventana de reinicio, mantiene el control sobre `pg_hba.conf` y audita sus propios roles de replicación. Este es el modelo que se aplica de forma natural a cualquier stack auto-alojado.","Despliegue PostgreSQL en un VPS con acceso root","Un VPS Cloud ServOrbit le da acceso root completo para aplicar este parche en menos de diez minutos, configurar `pg_hba.conf` y auditar sus roles de replicación sin depender de terceros.","Configurar mi solución PostgreSQL en VPS","\u002Fvps-cloud",[125,150,168],{"id":126,"slug":127,"slugs":128,"title":132,"excerpt":133,"readTime":134,"views":135,"isPinned":19,"publishedAt":136,"updatedAt":137,"category":138,"categories":144,"featuredImage":30,"bgImage":31,"posterImage":146,"relatedSolution":147},56,"alojar-postgresql-en-un-vps",{"fr":129,"en":130,"ar":131,"es":127},"heberger-postgresql-vps","postgresql-on-a-vps-a-reliable-and-controlled-database","postgresql-على-خادم-vps-قاعدة-بيانات-موثوقة-ومتحكم-بها","PostgreSQL en VPS: base de datos fiable y controlada","Aloje PostgreSQL en un VPS: volúmenes, copias de seguridad, acceso de red restringido y configuración sólida para sus aplicaciones.",4,0,"2026-04-25T00:00:00+00:00","2026-09-08T22:00:02+00:00",{"id":139,"name":140,"slug":141,"color":142,"icon":143},6,"Bases de datos","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[145],{"id":139,"name":140,"slug":141,"color":142,"icon":143},"\u002Fblog\u002Fcovers\u002Fheberger-postgresql-vps-poster.svg",{"categorySlug":148,"appSlug":149},"bases-de-datos","postgresql-stack",{"id":151,"slug":152,"slugs":153,"title":157,"excerpt":158,"readTime":159,"views":135,"isPinned":19,"publishedAt":160,"updatedAt":161,"category":162,"categories":163,"featuredImage":30,"bgImage":31,"posterImage":165,"relatedSolution":166},60,"alojar-supabase-en-un-vps",{"fr":154,"en":155,"ar":156,"es":152},"heberger-supabase-vps","hosting-supabase-on-a-vps","استضافة-supabase-على-خادم-vps","Alojar Supabase en un VPS en 2026","Autoaloje Supabase en su VPS: Postgres, Auth, Storage y API REST con Envoy Gateway. Migración Kong→Envoy, solución de problemas de URLs S3.",11,"2026-04-21T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":139,"name":140,"slug":141,"color":142,"icon":143},[164],{"id":139,"name":140,"slug":141,"color":142,"icon":143},"\u002Fblog\u002Fcovers\u002Fheberger-supabase-vps-poster.svg",{"categorySlug":148,"appSlug":167},"supabase",{"id":169,"slug":170,"slugs":171,"title":175,"excerpt":176,"readTime":134,"views":135,"isPinned":19,"publishedAt":177,"updatedAt":161,"category":178,"categories":179,"featuredImage":30,"bgImage":31,"posterImage":181,"relatedSolution":30},225,"postgresql-fin-de-vida-planificar-actualizacion",{"fr":172,"en":173,"ar":174,"es":170},"postgresql-fin-de-vie-planifier-montee-version","postgresql-end-of-life-plan-your-major-upgrade","postgresql-ونهاية-الدعم-تخطيط-الترقية-الكبرى","PostgreSQL en fin de vida: planificar la actualización mayor","PostgreSQL mantiene cada versión mayor cinco años, hasta su fin en noviembre. Identifique la suya y planifique la actualización sin perder datos.","2026-08-05T00:00:00+00:00",{"id":139,"name":140,"slug":141,"color":142,"icon":143},[180],{"id":139,"name":140,"slug":141,"color":142,"icon":143},"\u002Fblog\u002Fcovers\u002Fpostgresql-fin-de-vie-planifier-montee-version-poster.svg",1789665014710]