• Saltar al contenido principal
  • Saltar a la barra lateral principal
  • Saltar al pie de página

Una Al Día

Boletín de noticias de Seguridad Informática ofrecido por Hispasec

Usted está aquí: Inicio / Vulnerabilidades / Elevación de privilegios en Apache HTTP

Elevación de privilegios en Apache HTTP

9 abril, 2019 Por Francisco Salido 1 comentario

Un error no controlado al intentar acceder fuera de los límites de un array, permitiría a un atacante local elevar privilegios y ejecutar código con permisos de administrador en el popular servidor HTTP Apache.

El módulo de MultiProcesamiento (MPM), que se ejecuta como root, administra una cola de procesos menos privilegiados (www-data) que son utilizados para gestionar las peticiones HTTP. Estos «workers», comparten los resultados en una zona de memoria compartida (SHM) a la que tienen acceso total de escritura y lectura. En esta zona de la memoria se muestra, entre otra información, el PID de cada worker y la petición que atendió cada uno.

(gdb) p *ap_scoreboard_image
$3 = {
global = 0x7f4a9323e008,
parent = 0x7f4a9323e020,
servers = 0x55835eddea78
}
(gdb) p ap_scoreboard_image->servers[0]
$5 = (worker_score *) 0x7f4a93240820

Ejemplo de la memoria compartida asociada al worker con PID 19447:

(gdb) p ap_scoreboard_image->parent[0]
$6 = {
pid = 19447,
generation = 0,
quiescing = 0 ‘\000’,
not_accepting = 0 ‘\000’,
connections = 0,
write_completion = 0,
lingering_close = 0,
keep_alive = 0,
suspended = 0,
bucket = 0 <- index for all_buckets } (gdb) ptype *ap_scoreboard_image->parent
type = struct process_score {
pid_t pid;
ap_generation_t generation;
char quiescing;
char not_accepting;
apr_uint32_t connections;
apr_uint32_t write_completion;
apr_uint32_t lingering_close;
apr_uint32_t keep_alive;
apr_uint32_t suspended;
int bucket; <- index for all_buckets
}

Cuando Apache se reinicia de forma «suave», el proceso principal mata los workers antiguos y los reemplaza por nuevos. En este punto, se produce una lectura del array ‘all_buckets‘:

(gdb) p $index = ap_scoreboard_image->parent[0]->bucket
(gdb) p all_buckets[$index]
$7 = {
pod = 0x7f19db2c7408,
listeners = 0x7f19db35e9d0,
mutex = 0x7f19db2c7550
}
(gdb) ptype all_buckets[$index]
type = struct prefork_child_bucket {
ap_pod_t *pod; ap_listen_rec *listeners; apr_proc_mutex_t *mutex; <--
}
(gdb) ptype apr_proc_mutex_t
apr_proc_mutex_t {
apr_pool_t *pool; const apr_proc_mutex_unix_lock_methods_t *meth; <-- int curr_locked; char *fname; …
}
(gdb) ptype apr_proc_mutex_unix_lock_methods_t
apr_proc_mutex_unix_lock_methods_t {
… apr_status_t (*child_init)(apr_proc_mutex_t **, apr_pool_t *, const char *); <-- …
}

Esta lectura no comprueba los límites del array, lo que puede ser aprovechado por un atacante para cambiar el índice de ‘all_buckets‘, apuntar a la memoria compartida y hacerse con el control de de la estructura ‘prefork_child_bucket‘ al reiniciar, lo que podría resultar en una llamada a una función arbitraria con privilegios de administrador.

Esta vulnerabilidad sólo puede ser explotada si el atacante tiene permisos para subir archivos y ejecutar scripts que no sean de confianza (PHP, CGI, etc) en el servidor. Un tipo de configuración muy habitual en servidores compartidos.

El investigador de seguridad Charles Fol ha publicado una prueba de concepto que permite explotar esta vulnerabilidad.

Desde Hispasec recomendamos actualizar cuanto antes a la versión de Apache 2.4.39 que soluciona esta vulnerabilidad.

Más información:

CARPE (DIEM): CVE-2019-0211 Apache Root Privilege Escalation
https://cfreal.github.io/carpe-diem-cve-2019-0211-apache-local-root.html

Acerca de Francisco Salido

Francisco Salido Ha escrito 140 publicaciones.

  • View all posts by Francisco Salido →
  • Blog

Compártelo:

  • Haz clic para compartir en X (Se abre en una ventana nueva) X
  • Haz clic para compartir en Facebook (Se abre en una ventana nueva) Facebook
  • Haz clic para compartir en LinkedIn (Se abre en una ventana nueva) LinkedIn
  • Haz clic para compartir en Reddit (Se abre en una ventana nueva) Reddit
  • Haz clic para compartir en Telegram (Se abre en una ventana nueva) Telegram
  • Haz clic para compartir en WhatsApp (Se abre en una ventana nueva) WhatsApp

Publicaciones relacionadas

Publicado en: Vulnerabilidades Etiquetado como: apache, Elevación de privilegios

Interacciones con los lectores

Comentarios

  1. Yo dice

    10 abril, 2019 a las 3:18 am

    Es posible escapar del proceso enjaulado cuando se utiliza mod-itk y un usuario sin privilegios como lo hace cpanel?

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Buscar

Síguenos

25 años Una Al Día

https://www.youtube.com/watch?v=Kb-PFqasD4I

Populares de UAD

  • Vulnerabilidad en Copilot Personal: un enlace de phishing basta para robar tus datos
  • No abras esto en WhatsApp: las 5 ciberestafas que más víctimas han dejado en 2025
  • Detectada extensión maliciosa en Chrome que roba claves API de MEXC y permite retiros no autorizados
  • Miles de instancias de MongoDB en riesgo por una vulnerabilidad de leak de memoria
  • GhostPairing: una estafa secuestra cuentas de WhatsApp sin robar contraseñas ni duplicar la SIM

Entradas recientes

  • Vulnerabilidad en Copilot Personal: un enlace de phishing basta para robar tus datos
  • Detectada extensión maliciosa en Chrome que roba claves API de MEXC y permite retiros no autorizados
  • Miles de instancias de MongoDB en riesgo por una vulnerabilidad de leak de memoria
  • GoBruteforcer, el botnet que ataca servidores Linux de criptomonedas con contraseñas débiles
  • Nueva oleada de phishing suplanta al Ministerio de Salud de Italia para robar datos sanitarios
  • No abras esto en WhatsApp: las 5 ciberestafas que más víctimas han dejado en 2025
  • Parche urgente para Apex Central: Trend Micro resuelve vulnerabilidad crítica de ejecución remota
  • Correo electrónico
  • Facebook
  • LinkedIn
  • RSS
  • Twitter

Footer

UAD

UAD nació a raíz de un inocente comentario en un canal IRC hace 24 años. A través de los archivos, un lector curioso puede ver cómo ha cambiado (o no) la seguridad de la información desde entonces.

Aviso Legal

  • Aviso Legal
  • Términos y Condiciones
  • Política de Privacidad
  • Política de Cookies

Copyright © 2026 · Hispasec Sistemas, S.L. Todos los derechos reservados

Este sitio web utiliza cookies propias y de terceros para fines analíticos y para mostrarte publicidad (tanto general como personalizada) relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas), para optimizar la web y para poder valorar las opiniones de los servicios consultados por los usuarios. Para administrar o deshabilitar estas cookies haz clic en: Configurar Cookies


Rechazar todo Aceptar Todo
Configurar Cookies

Resumen de privacidad

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. De estas, las cookies que se clasifican como necesarias se almacenan en su navegador, ya que son esenciales para el funcionamiento de las funcionalidades básicas del sitio web. También utilizamos cookies de terceros que nos ayudan a analizar y comprender cómo utiliza este sitio web. Estas cookies se almacenarán en su navegador solo con su consentimiento. También tiene la opción de optar por no recibir estas cookies. Pero la exclusión voluntaria de algunas de estas cookies puede afectar su experiencia de navegación.
Necesaria
Siempre activado
Las cookies necesarias son absolutamente esenciales para que el sitio web funcione correctamente. Estas cookies garantizan funcionalidades básicas y características de seguridad del sitio web, de forma anónima.
CookieDuraciónDescripción
cookielawinfo-checkbox-analytics11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Análisis".
cookielawinfo-checkbox-functional11 monthsLa cookie está configurada por el consentimiento de cookies de GDPR para registrar el consentimiento del usuario para las cookies en la categoría "Funcional".
cookielawinfo-checkbox-necessary11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. Las cookies se utilizan para almacenar el consentimiento del usuario para las cookies en la categoría "Necesario".
cookielawinfo-checkbox-others11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Otro.
cookielawinfo-checkbox-performance11 monthsEsta cookie está configurada por el complemento de consentimiento de cookies de GDPR. La cookie se utiliza para almacenar el consentimiento del usuario para las cookies en la categoría "Rendimiento".
viewed_cookie_policy11 monthsLa cookie está configurada por el complemento de consentimiento de cookies de GDPR y se utiliza para almacenar si el usuario ha dado su consentimiento o no para el uso de cookies. No almacena ningún dato personal.
Analítica
Las cookies analíticas se utilizan para comprender cómo interactúan los visitantes con el sitio web. Estas cookies ayudan a proporcionar información sobre métricas, el número de visitantes, la tasa de rebote, la fuente de tráfico, etc.
GUARDAR Y ACEPTAR
 

Cargando comentarios...