CVE-2024-52046
Apache MINA : les applications MINA utilisant une désérialisation non bornée peuvent permettre une exécution de code à distance (RCE)
- Publié
- 25 déc. 2024
- Mise à jour
- 2 août 2025
- Attribution de CNA
- apache
- Preuve observée
- 28 août 2026
CVSS primaire
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XModéré · 30 prochains jours
- Percentile
- 97,8 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
Le ObjectSerializationDecoder dans Apache MINA utilise le protocole de désérialisation natif de Java pour traiter les données sérialisées entrantes, mais ne dispose pas des contrôles de sécurité et des défenses nécessaires. Cette vulnérabilité permet aux attaquants d'exploiter le processus de désérialisation en envoyant des données sérialisées malveillantes spécialement conçues, ce qui peut potentiellement conduire à des attaques d'exécution de code à distance (RCE). Ce problème affecte les versions du cœur MINA 2.0.X, 2.1.X et 2.2.X, et sera corrigé par les versions 2.0.27, 2.1.10 et 2.2.4. Il est également important de noter qu'une application utilisant la bibliothèque du cœur MINA ne sera affectée que si la méthode IoBuffer#getObject() est appelée, et cette méthode spécifique est potentiellement appelée lors de l'ajout d'une instance ProtocolCodecFilter à l'aide de la classe ObjectSerializationCodecFactory dans la chaîne de filtres. Si votre application utilise spécifiquement ces classes, vous devez mettre à niveau vers la dernière version de la bibliothèque du cœur MINA. La mise à niveau ne suffira pas : vous devez également autoriser explicitement les classes que le décodeur acceptera dans l'instance ObjectSerializationDecoder, en utilisant l'une des trois nouvelles méthodes : /** * Accepte les noms de classes pour lesquels le ClassNameMatcher fourni correspond pour * la désérialisation, sauf s'ils sont autrement rejetés. * * @param classNameMatcher le matcher à utiliser */ public void accept(ClassNameMatcher classNameMatcher) /** * Accepte les noms de classes qui correspondent au motif fourni pour * la désérialisation, sauf s'ils sont autrement rejetés. * * @param pattern expression régulière Java standard */ public void accept(Pattern pattern) /** * Accepte les classes à caractères génériques spécifiées pour la désérialisation, * sauf si elles sont autrement rejetées. * * @param patterns motifs de noms de fichiers à caractères génériques tels que définis par * {@link org.apache.commons.io.FilenameUtils#wildcardMatch(String, String) FilenameUtils.wildcardMatch} */ public void accept(String... patterns) Par défaut, le décodeur rejettera *toutes* les classes qui seront présentes dans les données entrantes. Remarque : les sous-projets FtpServer, SSHd et Vysper ne sont pas affectés par ce problème.
Sources
1Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.