Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ovpn-kernel-backport — Corrección del kernel de OpenVPN upstream para CVE-2026-74727, probada en el kernel de Ubuntu 7.0.0-38.38. Incluye instrucciones de compilación y resultados de pruebas funcionales. | Kitploit
Herramientas/GitHubGitHub/kosifuchs/ovpn-kernel-backport
Análisis de VulnerabilidadesAnálisis de CódigoSeguridad de RedesPapers e Investigación
GitHubkosifuchs/ovpn-kernel-backport

ovpn-kernel-backport

Corrección del kernel de OpenVPN upstream para CVE-2026-74727, probada en el kernel de Ubuntu 7.0.0-38.38. Incluye instrucciones de compilación y resultados de pruebas funcionales.

Ver Repositorio
hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Revisión del backport del módulo del kernel de OpenVPN

Documentación de una compilación local, pruebas funcionales, revisión enfocada del código fuente y pruebas de regresión deterministas de las invariantes de rehash de IP de VPN y de endpoint de transporte del arreglo upstream asociado a CVE-2026-74727, contra el paquete de código fuente del kernel de Ubuntu linux 7.0.0-38.38 en x86_64. Las pruebas de endpoint de transporte también se recompilaron y ejecutaron en un kernel Generic KASAN compilado localmente.

Atribución y alcance

Esta es una revisión de backport de un arreglo upstream existente, no una vulnerabilidad recién descubierta ni un arreglo de seguridad original. El autor upstream registrado es Antonio Quartulli. El commit registrado es 33ec10567fe14456063daf549fdf1a4f53448e4c.

Parche upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/patch/?id=33ec10567fe14456063daf549fdf1a4f53448e4c

El cambio en drivers/net/ovpn/peer.c evita rehashear un peer que ya ha sido eliminado de la tabla hash de ID de peer. Conserve los encabezados originales del parche, la autoría y la licencia al distribuirlo. Esta documentación no relicencia el parche del kernel.

El parche upstream original se incluye byte por byte. Su SHA-256 coincide con el artefacto utilizado en la sesión de pruebas registrada. Su autor, mensaje de commit y cambios de código se verificaron contra el commit upstream público en GitHub. No se incluye ningún binario.

Sumas de verificación registradas

La suma de verificación del parche se comprobó de forma independiente contra el archivo incluido. La suma de verificación del módulo se registró durante la sesión de pruebas del operador; el binario no se distribuye aquí.

ArtefactoSHA-256
CVE-2026-74727-upstream.patchbaf0962c60b182776a86e040d2ec5b35eea2737c2e2eb6f17f87eb7d2fe47b24
ovpn.ko probado0853fdce14ce1c4d64857871dc873bf98a1b8fe8243bf042ad6daffc906e6d27

Aplicar y compilar

Utilice una copia extraída separada del paquete de código fuente exacto de Ubuntu linux 7.0.0-38.38. Instale primero los encabezados del kernel correspondientes y la cadena de herramientas de compilación. El compilador registrado fue Ubuntu GCC 15.2.0-16ubuntu1, coincidiendo con el compilador del kernel en ejecución.

Desde la raíz del código fuente, con el parche en su directorio padre:

patch --dry-run --batch --forward --fuzz=0 -p1 < ../CVE-2026-74727-upstream.patch
patch --batch --forward --fuzz=0 -p1 < ../CVE-2026-74727-upstream.patch
make -C /lib/modules/7.0.0-38-generic/build \
  M="$PWD/drivers/net/ovpn" CONFIG_OVPN=m \
  CC=x86_64-linux-gnu-gcc -j1 modules

La aplicación del parche registrada utilizó cero fuzz con desplazamientos de línea de -6 y -5. La compilación devolvió el código de salida 0. La generación de BTF se omitió porque vmlinux no estaba disponible. El vermagic del módulo coincidió con 7.0.0-38-generic SMP preempt mod_unload modversions.

Que el vermagic coincida y la compilación sea exitosa no demuestra que un módulo sea seguro ni que la vulnerabilidad haya sido validada por completo.

Pruebas funcionales registradas

Las pruebas se realizaron manualmente en una VM de Ubuntu sobre Hyper-V con el kernel 7.0.0-38-generic y Secure Boot deshabilitado. Los resultados se basan en la salida de terminal proporcionada por el operador:

  • El módulo de prueba se cargó y su build-ID coincidió con el build-ID del módulo cargado.
  • La conexión OpenVPN DCO existente se reconectó correctamente.
  • Un espacio de nombres de red independiente permitió crear y eliminar una interfaz MP.
  • Se pudo crear, consultar, configurar y eliminar un peer de prueba.
  • Una CLI de prueba modificada cambió la dirección IPv4 de VPN de un peer de prueba de 192.0.2.2 a 192.0.2.3; el estado del peer devuelto confirmó el cambio. Esto se limitó a un espacio de nombres de prueba temporal y no modificó la dirección de VPN operativa.
  • El registro del kernel revisado no contenía mensajes coincidentes de BUG, Oops, KASAN, general protection fault ni soft lockup. Estaban presentes mensajes de taint por módulo out-of-tree sin firmar.
  • Los espacios de nombres de prueba se eliminaron y el módulo de la distribución se recargó después de las pruebas. La VPN operativa se reconectó.

Prueba de regresión determinista de rehash de IP de VPN

El 2026-10-06, dos módulos de prueba independientes ejecutaron la función real ovpn_peer_hash_vpn_ip() extraída del respaldo sin parchear y del código fuente parcheado. Los objetos sintéticos privados se mantuvieron asignados durante todo el proceso. Tras simular la eliminación completada de las tablas hash, la prueba llamó de nuevo a la función bajo ovpn->lock.

PropiedadAntes del parcheDespués del parche
El peer activo está registrado en las tablas IPv4 e IPv6PASSPASS
El peer eliminado permanece fuera de las tablas IPv4 e IPv6FAILPASS
Buckets IPv4 / IPv6 ocupados tras el rehash del peer eliminado1 / 10 / 0

Esta es una comprobación en tiempo de ejecución del invariante específico posterior a la eliminación, no una reproducción de una condición de carrera de eliminación concurrente ni de un use-after-free. El fallo del invariante en la línea base es esperado y demuestra que la prueba distingue las dos versiones de la función. Ambos módulos se descargaron posteriormente. La VPN operativa permaneció activa con su dirección sin cambios. El intervalo de registro revisado contenía los resultados de las pruebas y ningún mensaje coincidente de BUG, Oops, general protection fault ni soft lockup.

Consulte TESTING.md para ver la salida registrada, las instrucciones de reproducción y las limitaciones. El generador está en tests/prepare-ovpn-rehash-regtest.py.

Prueba de regresión determinista de endpoint de transporte / float

El 2026-10-06, módulos de prueba independientes también ejecutaron la función real ovpn_peer_endpoints_update() extraída de las fuentes sin parchear y parcheadas, con los helpers de binding de producción. Tanto para IPv4 como para IPv6, cabeceras de paquete sintéticas privadas provocaron que un peer activo hiciera float y, a continuación, provocaron otra actualización de endpoint después de que sus entradas hash se hubieran eliminado mientras su almacenamiento permanecía asignado.

Propiedad, tanto para IPv4 como para IPv6Antes del parcheDespués del parche
El peer activo hace float y permanece en la tabla de transportePASSPASS
Se alcanza la actualización de endpoint tras la eliminación modeladaPASSPASS
El peer eliminado permanece fuera de la tabla de transporteFAILPASS
Buckets de transporte ocupados tras la actualización del peer eliminado10

No se transmitió ningún paquete y no se modificaron interfaces reales, peers de VPN ni direcciones. Ambos módulos de prueba se descargaron después; la VPN operativa permaneció activa con su dirección sin cambios. El intervalo de registro revisado contenía los cuatro resultados de las pruebas y ninguna línea coincidente de BUG, Oops, general protection fault ni soft lockup.

Consulte FLOAT-TESTING.md y tests/prepare-ovpn-float-regtest.py para ver el alcance, las instrucciones de reproducción y los resultados registrados.

Ejecución adicional de KASAN y revisión del código fuente

Descargar herramienta