Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ovpn-kernel-backport — Correctif du noyau OpenVPN en amont pour CVE-2026-74727, testé sur le noyau Ubuntu 7.0.0-38.38. Comprend les instructions de compilation et les résultats des tests fonctionnels. | Kitploit
Outils/GitHubGitHub/kosifuchs/ovpn-kernel-backport
Analyse des VulnérabilitésAnalyse de CodeSécurité RéseauArticles et Recherche
GitHubkosifuchs/ovpn-kernel-backport

ovpn-kernel-backport

Correctif du noyau OpenVPN en amont pour CVE-2026-74727, testé sur le noyau Ubuntu 7.0.0-38.38. Comprend les instructions de compilation et les résultats des tests fonctionnels.

Voir le dépôt
il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Revue de rétroportage du module noyau OpenVPN

Documentation d'une compilation locale, de tests fonctionnels, d'une revue ciblée du code source et de tests de régression déterministes sur les invariants de rehash de l'IP VPN et du point de terminaison de transport du correctif amont associé à CVE-2026-74727, sur le paquet source du noyau Ubuntu linux 7.0.0-38.38 en x86_64. Les tests du point de terminaison de transport ont également été recompilés et exécutés sur un noyau Generic KASAN compilé localement.

Attribution et périmètre

Il s'agit d'une revue de rétroportage d'un correctif amont existant, et non d'une vulnérabilité nouvellement découverte ni d'un correctif de sécurité original. L'auteur amont enregistré est Antonio Quartulli. Le commit enregistré est 33ec10567fe14456063daf549fdf1a4f53448e4c.

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

La modification dans drivers/net/ovpn/peer.c empêche le rehash d'un pair déjà supprimé de la table de hachage des ID de pairs. Conservez les en-têtes, la paternité et la licence du correctif original lors de sa distribution. Cette documentation ne relicencie pas le correctif du noyau.

Le correctif amont original est inclus octet pour octet. Son SHA-256 correspond à l'artefact utilisé lors de la session de test enregistrée. Son auteur, son message de commit et ses modifications de code ont été vérifiés par rapport au commit amont public sur GitHub. Aucun binaire n'est inclus.

Sommes de contrôle enregistrées

La somme de contrôle du correctif a été vérifiée indépendamment par rapport au fichier inclus. La somme de contrôle du module a été enregistrée lors de la session de test de l'opérateur ; le binaire n'est pas distribué ici.

ArtefactSHA-256
CVE-2026-74727-upstream.patchbaf0962c60b182776a86e040d2ec5b35eea2737c2e2eb6f17f87eb7d2fe47b24
ovpn.ko testé0853fdce14ce1c4d64857871dc873bf98a1b8fe8243bf042ad6daffc906e6d27

Application et compilation

Utilisez une copie extraite séparée du paquet source Ubuntu exact linux 7.0.0-38.38. Installez d'abord les en-têtes de noyau correspondants et la chaîne d'outils de compilation. Le compilateur enregistré était Ubuntu GCC 15.2.0-16ubuntu1, correspondant au compilateur du noyau en cours d'exécution.

Depuis la racine des sources, avec le correctif dans son répertoire parent :

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

L'application du correctif enregistrée a utilisé un fuzz nul avec des décalages de ligne de -6 et -5. La compilation a renvoyé le code de sortie 0. La génération BTF a été ignorée car vmlinux était indisponible. Le vermagic du module correspondait à 7.0.0-38-generic SMP preempt mod_unload modversions.

Un vermagic correspondant et une compilation réussie n'établissent pas qu'un module est sûr ni que la vulnérabilité a été entièrement validée.

Tests fonctionnels enregistrés

Les tests ont été effectués manuellement sur une VM Ubuntu Hyper-V avec le noyau 7.0.0-38-generic et Secure Boot désactivé. Les résultats sont basés sur la sortie terminal fournie par l'opérateur :

  • Le module de test s'est chargé et son build-ID correspondait au build-ID du module chargé.
  • La connexion OpenVPN DCO existante s'est reconnectée avec succès.
  • Un espace de noms réseau séparé a permis de créer et de supprimer une interface MP.
  • Un pair de test a pu être créé, interrogé, configuré et supprimé.
  • Un CLI de test modifié a changé l'adresse IPv4 VPN d'un pair de test de 192.0.2.2 à 192.0.2.3 ; l'état du pair renvoyé a confirmé le changement. Cela était confiné à un espace de noms de test temporaire et n'a pas modifié l'adresse VPN opérationnelle.
  • Le journal du noyau examiné ne contenait aucun message correspondant à BUG, Oops, KASAN, general protection fault ou soft lockup. Des messages de taint de module hors arbre non signé étaient présents.
  • Les espaces de noms de test ont été supprimés et le module de la distribution a été rechargé après les tests. Le VPN opérationnel s'est reconnecté.

Test de régression déterministe du rehash d'IP VPN

Le 2026-10-06, deux modules de test autonomes ont exécuté la fonction réelle ovpn_peer_hash_vpn_ip() extraite de la sauvegarde non corrigée et de la source corrigée. Des objets synthétiques privés sont restés alloués tout au long. Après avoir simulé une suppression terminée des tables de hachage, le test a appelé à nouveau la fonction sous ovpn->lock.

PropriétéAvant correctifAprès correctif
Le pair actif est inscrit dans les tables IPv4 et IPv6PASSPASS
Le pair supprimé reste en dehors des tables IPv4 et IPv6FAILPASS
Buckets IPv4 / IPv6 occupés après rehash d'un pair supprimé1 / 10 / 0

Il s'agit d'une vérification à l'exécution de l'invariant spécifique post-suppression, et non d'une reproduction d'une course de suppression concurrente ou d'un use-after-free. L'échec de l'invariant de la base de référence est attendu et démontre que le test distingue les deux versions de la fonction. Les deux modules ont ensuite été déchargés. Le VPN opérationnel est resté actif avec son adresse inchangée. L'intervalle de journal examiné contenait les résultats des tests et aucun message correspondant à BUG, Oops, general protection fault ou soft lockup.

Voir TESTING.md pour la sortie enregistrée, les instructions de reproduction et les limites. Le générateur se trouve dans tests/prepare-ovpn-rehash-regtest.py.

Test de régression déterministe du point de terminaison de transport / float

Le 2026-10-06, des modules de test autonomes ont également exécuté la fonction réelle ovpn_peer_endpoints_update() extraite des sources non corrigées et corrigées, avec les helpers de liaison de production. Pour IPv4 et IPv6, des en-têtes de paquets synthétiques privés ont provoqué le float d'un pair actif, puis ont provoqué une autre mise à jour de point de terminaison après la suppression de ses entrées de hachage alors que son stockage restait alloué.

Propriété, pour IPv4 et IPv6Avant correctifAprès correctif
Le pair actif flotte et reste dans la table de transportPASSPASS
La mise à jour du point de terminaison est atteinte après la suppression modéliséePASSPASS
Le pair supprimé reste en dehors de la table de transportFAILPASS
Buckets de transport occupés après la mise à jour d'un pair supprimé10

Aucun paquet n'a été transmis, et aucune interface, pair VPN ou adresse réels n'ont été modifiés. Les deux modules de test ont ensuite été déchargés ; le VPN opérationnel est resté actif avec son adresse inchangée. L'intervalle de journal examiné contenait les quatre résultats des tests et aucune ligne correspondant à BUG, Oops, general protection fault ou soft lockup.

Voir FLOAT-TESTING.md et tests/prepare-ovpn-float-regtest.py pour la portée, les instructions de reproduction et les résultats enregistrés.

Exécution KASAN supplémentaire et revue du code source

Télécharger l’outil