IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Plus de 35 000 packages Java impactés par les vulnérabilités Log4j, selon un rapport de l'équipe open source de Google

Le , par Stéphane le calme

101PARTAGES

13  0 
L'équipe open source de Google a déclaré avoir analysé Maven Central, le plus grand référentiel de packages Java, et a découvert que 35 863 packages Java utilisent des versions vulnérables de la bibliothèque Apache Log4j. Cela inclut les packages Java qui utilisent des versions Log4j vulnérables à l'exploit Log4Shell d'origine (CVE-2021-44228) et un deuxième bogue d'exécution de code à distance découvert dans le correctif Log4Shell (CVE-2021-45046).

Log4j est une bibliothèque de journalisation open source basée sur Java utilisée dans des millions d'applications. Il y a quelques jours, une vulnérabilité dans Log4J a été découverte. Elle permet à un attaquant de provoquer une exécution de code arbitraire à distance s'il a la capacité de soumettre une donnée à une application qui utilise la bibliothèque log4j pour journaliser l'évènement. Cette attaque peut être réalisée sans être authentifié, par exemple en tirant parti d'une page d'authentification qui journalise les erreurs d'authentification. Les entreprises spécialisées en cybersécurité ont indiqué que le nombre d'attaques profitant de cette faille se multiplient.

James Wetter et Nicky Ringland, membres de l'équipe Google Open Source Insights, ont déclaré dans un rapport que, bien souvent, lorsqu'une faille de sécurité Java majeure est détectée, elle n'affecte généralement que 2% de l'index Maven Central. Cependant, les 35 000 packages Java vulnérables à Log4Shell représentent environ 8 % du total de Maven Central d'environ 440 000, un pourcentage que les deux ont décrit en utilisant un seul mot : « énorme ».

« Plus de 35 000 packages Java, représentant plus de 8 % du référentiel Maven Central (le référentiel de packages Java le plus important), ont été touchés par les vulnérabilités log4j récemment divulguées, avec des retombées généralisées dans l'industrie du logiciel. Les vulnérabilités permettent à un attaquant d'exécuter du code à distance en exploitant la fonctionnalité de recherche JNDI non sécurisée exposée par la bibliothèque de journalisation log4j. Cette fonctionnalité exploitable était activée par défaut dans de nombreuses versions de la bibliothèque.

« Cette vulnérabilité a captivé l'écosystème de la sécurité de l'information depuis sa divulgation le 9 décembre en raison à la fois de sa gravité et de son impact généralisé. En tant qu'outil de journalisation populaire, log4j est utilisé par des dizaines de milliers de progiciels (appelés artefacts dans l'écosystème Java) et de projets dans l'ensemble de l'industrie du logiciel. Le manque de visibilité de l'utilisateur sur ses dépendances et ses dépendances transitives a rendu l'application des correctifs difficile ; cela a également rendu difficile la détermination du rayon d'explosion complet de cette vulnérabilité. En utilisant Open Source Insights, un projet pour aider à comprendre les dépendances open source, nous avons examiné toutes les versions de tous les artefacts dans le référentiel central Maven pour déterminer l'étendue du problème dans l'écosystème open source des langages basés sur JVM, et pour suivre les efforts en cours pour atténuer les paquets affectés ».

Depuis que la vulnérabilité a été divulguée, Wetter et Ringland ont déclaré que la communauté avait répondu positivement et avait déjà corrigé 4 620 des 35 863 packages qu'ils avaient initialement trouvés vulnérables. Ce nombre représente 13% de tous les packages vulnérables. « Ceci, plus que toute autre statistique, témoigne des efforts massifs déployés par les mainteneurs open source, les équipes de sécurité de l'information et les consommateurs du monde entier », ont déclaré Wetter et Ringland.

À titre de comparaison, les deux citent des statistiques similaires pour les failles de sécurité Java passées, où environ 48% des bibliothèques en amont et en aval sont mises à jour pour corriger les vulnérabilités. Cependant, les deux ne s'attendent pas à ce que le problème Log4Shell soit entièrement corrigé, du moins pour les années à venir.

La principale raison en est que Log4j n'est pas toujours inclus en tant que dépendance directe dans les packages Java, mais est également une dépendance d'une autre dépendance, également appelée dépendance indirecte.

Dans ces situations, les responsables de packages Java vulnérables doivent attendre d'autres développeurs avant de pouvoir mettre à jour leurs propres applications, prolongeant ce processus pendant des semaines et des mois, dans certains cas.

Selon Google, Log4j est une dépendance directe dans seulement 7 000 packages sur les 35 000 bibliothèques totales, et de nombreux développeurs Java devront très probablement remplacer les dépendances indirectes qui n'ont pas été mises à jour avec des alternatives sûres.

Quelle est l'étendue de la vulnérabilité log4j ?

« Au 16 décembre 2021, nous avons constaté que 35 863 des artefacts Java disponibles de Maven Central dépendent du code log4j affecté. Cela signifie que plus de 8 % de tous les packages sur Maven Central ont au moins une version impactée par cette vulnérabilité. (Ces chiffres n'incluent pas tous les packages Java, tels que les binaires directement distribués, mais Maven Central est un puissant indicateur de l'état de l'écosystème.) En ce qui concerne l'impact sur l'écosystème, 8 %, c'est énorme. L'impact moyen sur l'écosystème des avis affectant Maven Central est de 2 %, avec une médiane inférieure à 0,1 %.

« Les dépendances directes représentent environ 7 000 des artefacts affectés, ce qui signifie que l'une de ses versions dépend d'une version affectée de log4j-core ou log4j-api, comme décrit dans les CVE. La majorité des artefacts affectés proviennent de dépendances indirectes (c'est-à-dire les dépendances de ses propres dépendances), ce qui signifie que log4j n'est pas explicitement défini comme une dépendance de l'artefact, mais est intégré comme une dépendance transitive ».


Quels sont les progrès actuels dans la réparation de l'écosystème JVM open source ?

« Nous avons compté un artefact comme corrigé si l'artefact avait au moins une version affectée et a publié une version plus stable (selon la gestion sémantique des versions) qui n'est pas affectée. Un artefact affecté par log4j est considéré comme corrigé s'il a été mis à jour vers 2.16.0 ou s'il a complètement supprimé sa dépendance à log4j.

« Au moment de la rédaction de cet article, près de cinq mille des artefacts concernés ont été corrigés. Cela représente une réponse rapide et un effort colossal à la fois de la part des mainteneurs de log4j et de la communauté plus large des consommateurs open source.

« Cela laisse plus de 30 000 artefacts affectés, dont beaucoup dépendent d'un autre artefact à corriger (la dépendance transitive) et sont probablement bloqués ».


Pourquoi est-il difficile de réparer l'écosystème JVM ?

« La plupart des artefacts qui dépendent de log4j le font indirectement. Plus la vulnérabilité est profonde dans une chaîne de dépendances, plus il faut d'étapes pour qu'elle soit corrigée. Le diagramme suivant montre un histogramme de la profondeur avec laquelle un package log4j affecté (core ou api) apparaît pour la première fois dans les graphiques de dépendance des consommateurs. Pour plus de 80 % des packages, la vulnérabilité est profonde de plus d'un niveau, avec une majorité affectée à cinq niveaux (et certains jusqu'à neuf niveaux). Ces packages nécessiteront des correctifs dans toutes les parties de l'arborescence, en commençant par les dépendances les plus profondes.

« Une autre difficulté est causée par les choix au niveau de l'écosystème dans l'algorithme de résolution des dépendances et les conventions de spécification des exigences.

« Dans l'écosystème Java, il est courant de spécifier les exigences de version "soft" - les versions exactes qui sont utilisées par l'algorithme de résolution si aucune autre version du même package n'apparaît plus tôt dans le graphique de dépendance. La propagation d'un correctif nécessite souvent une action explicite de la part des responsables pour mettre à jour les exigences de dépendance vers une version corrigée.

« Cette pratique contraste avec d'autres écosystèmes, tels que npm, où il est courant pour les développeurs de spécifier des plages ouvertes pour les exigences de dépendance. Les plages ouvertes permettent à l'algorithme de résolution de sélectionner la version la plus récemment publiée qui répond aux exigences de dépendance, introduisant ainsi de nouveaux correctifs. Les consommateurs peuvent obtenir une version corrigée lors de la prochaine version une fois le correctif disponible, ce qui propage rapidement les dépendances. (Cette approche n'est pas sans inconvénients*; l'ajout de nouveaux correctifs peut également entraîner de nouveaux problèmes.) »

Combien de temps faudra-t-il pour que cette vulnérabilité soit corrigée dans l'ensemble de l'écosystème ?

« C'est difficile à dire. Nous avons examiné tous les avis critiques publiés concernant les packages Maven pour avoir une idée de la rapidité avec laquelle les autres vulnérabilités ont été entièrement corrigées. Moins de la moitié (48 %) des artefacts affectés par une vulnérabilité ont été corrigés, nous pourrions donc devoir attendre longtemps, probablement des années.

« Mais les choses semblent prometteuses sur le front de log4j. Après moins d'une semaine, 4 620 artefacts affectés (~ 13 %) ont été corrigés. Ceci, plus que toute autre statistique, témoigne de l'effort massif des mainteneurs open source, des équipes de sécurité de l'information et des consommateurs à travers le monde ».

Le rapport a été publié avant la découverte d'une vulnérabilité sur le deuxième correctif, conduisant à la publication de la version 2.17.0 de Log4j

Les membres de l’Apache Software Fondation ont développé un patch en catastrophe pour corriger la vulnérabilité, la version 2.15.0. Des contournements sont également possibles pour réduire les risques.

Mais les chercheurs ont signalé qu'il existe au moins deux vulnérabilités dans le correctif, publié sous le nom de Log4J 2.15.0, et que les attaquants exploitent activement l'une d'entre elles ou les deux contre des cibles du monde réel qui ont déjà appliqué la mise à jour. Les chercheurs ont exhorté les organisations à installer un nouveau correctif, publié en tant que version 2.16.0, dès que possible pour corriger la vulnérabilité, qui est suivie comme CVE-2021-45046.

Le correctif précédent, ont déclaré les chercheurs mardi soir, « était incomplet dans certaines configurations autres que celles par défaut » et permettait aux attaquants d'effectuer des attaques par déni de service, ce qui facilite généralement la mise hors ligne des services vulnérables jusqu'à ce que les victimes redémarrent leur serveurs ou prennent d'autres mesures. La version 2.16.0 « résout ce problème en supprimant la prise en charge des modèles de recherche de messages et en désactivant la fonctionnalité JNDI par défaut », selon l'avis de vulnérabilité lié ci-dessus.

La version 2.15.0 ne résolvait pas un autre problème - CVE-2021-45046 - qui permettait à un attaquant distant contrôlant le Thread Context Map (MDC) de préparer une entrée malveillante à l'aide d'un modèle de recherche JNDI. Le résultat pourrait être l'exécution de code à distance, heureusement pas dans tous les environnements.

La version 2.16.0 a résolu ce problème. Mais elle n'a pas corrigé CVE-2021-45105, que l'Apache Software Foundation décrit comme suit :

« Les versions 2.0-alpha1 à 2.16.0 d'Apache Log4j2 ne protégeaient pas contre la récursivité incontrôlée des recherches auto-référentielles. Lorsque la configuration de la journalisation utilise une disposition de modèle autre que celle par défaut avec une recherche de contexte (par exemple, $${ctx:loginId}), les attaquants contrôlant les données d'entrée de Thread Context Map (MDC) peuvent créer des données d'entrée malveillantes contenant une recherche récursive, ce qui entraîne une StackOverflowError qui mettra fin au processus. Ceci est également connu sous le nom d'attaque DOS (Denial of Service) ».

Source : Google

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de gabriel21
Membre éprouvé https://www.developpez.com
Le 21/12/2021 à 23:48
Je vois dans les crises sécuritaires actuelles un problème plus profond :
L'architecture système repose sur une notion de couche et les développeurs ne comprennent plus rien aux bases, voir en ont rien à "bip".
Combien de fois j'ai pu entendre, j'en ai rien à faire de comment ça marche tant que ça marche de la part de nombreux développeurs (et pas uniquement Java ).
Il nous font "bip" tous ces administrateurs système avec leur "bip" de mise à jour qui casse mon super code de la mort qui tue tout. Parce que le problème, ce n'est pas nous, mais forcément les autres...
Combien de fois je suis épouvanté par le fait que juste pour afficher "Hello World", il faut un serveur avec 2 processeurs et 64Go de mémoire? Moi qui es commencé sur des systèmes avec des Pentium III et 64 Mo de ram.
Car pourquoi se faire "bip" par les dépendances quand il suffit d'intégrer un framework de 4 Go pour 3 fonctions qui pèsent 3Ko, et plusieurs fois dans le projet...

Mais moi qui fait un peu de programmation, mais qui suis administrateur système de vocation, je pleure.
Pour moi, le minimum est le mieux. Je pleure quand je dois faire 5 mises à jour de noyau Linux parce qu’il y a une faille sur une fonctionnalité que nous n'utilisons pas, mais vous comprenez avoir une personne qui compile un noyau qui correspond à notre besoin, ça coûte trop chère alors on utilise un noyau générique qui pèse 150Mo alors que l'on pourrait utiliser un noyau de 50 Mo qui ne demande pas de mise à jour régulière. Je regrettes ces serveur qui ont un Uptime de 3000 jours, car ayant un noyau optimisé pour leur matériel et n'utilisant pas le chargement dynamique de module du noyau Linux, n'ont pas de failles du moins connue...
9  0 
Avatar de Escapetiger
Expert éminent https://www.developpez.com
Le 24/12/2021 à 13:34
Nous sommes dans un forum spécialisé mais tout de même pour une question de clarté avec tous ces sigles :

IPS
« Un système de prévention d'intrusion (ou IPS, intrusion prevention system) est un outil des spécialistes en sécurité des systèmes d'information, similaire aux systèmes de détection d'intrusion (ou IDS, intrusion detection system), permettant de prendre des mesures afin de diminuer les impacts d'une attaque. C'est un IDS actif, il peut par exemple détecter un balayage automatisé malveillant, et bloquer les ports.

Les IPS peuvent donc parer les attaques connues et inconnues. Comme les IDS, ils ne sont pas fiables à 100 % et risquent même en cas de faux positif de bloquer du trafic légitime.
(.../...) »

EDR
« Un logiciel de type EDR désigne une technologie émergente de détection des menaces sur les EndPoints (ordinateurs, serveurs). Ce terme Endpoint Detection and Response (EDR), est utilisé pour la première fois en juillet 2013 par Anton Chuvakin1 de la société Gartner.
(.../...)
Combiné avec un moteur basé sur de l'intelligence artificielle, le logiciel EDR est très réactif dans la détection et l'arrêt de menaces (Malwares, virus, attaques zero Day, menaces persistantes avancées, ...). L'intelligence artificielle lui permet d'être auto-apprenant et de ne pas devoir se connecter sur internet pour mettre à jour des bases de données.
»

Sources Wikipedia :

Système de prévention d'intrusion

Endpoint detection and response
5  0 
Avatar de sekaijin
Expert éminent https://www.developpez.com
Le 24/12/2021 à 16:40
Lister les dépendances par transitivité pour connaitre les projet "Potentiellement" impactés
N'est en soit pas très compliqué mais très largement insuffisant surtout si on fait ça sur maven central.
En effet Maven Central garde aussi toute les vielles versions donc même s'il y a eu des corrections les version non corrigé restent.

On peut très vite avoir des chiffres énorme sans pour autant que ce soit la cata.

Quant à ce que que j'ai lu ici sur YAKAFOKON c'est très loin d'être si facile. Je m'occupe d'un outil qui est composé de centaines d'éléments divers avec un chargement dynamique la bête a tourné 8 ans sans interruption, avec des mise à jour à chaud, un changement de serveur physique à chaud (juste des arrêts partiels de certain composants quelques minutes).
Arriver à qualifier la compatibilité de plusieurs centaines de composants est un très long travail. Il nous est déjà arrivé de revenir en arrière après plusieurs mois de travail parce qu'un composants n'était plus compatible avec l'ensemble.

Quant à l'approche de google si j'avais suivi la même approche j'aurais à ce jour environs 200 projet impactés.
Hors tous dépendent d'une librairie qui est compilé avec log4j (donc une dépendance). Mais cette librairie importe une partie seulement de log4j et supprime tout le code inutile. La partie impactée par le PB de sécurité n'est plus dans le code de la lib. les 200 projets ne sont donc pas impactés.

à contraio je suis tombé sur un dev qui importe par transitivité un clone de log4j qui lui embarque le code en question et là l'approche de Google ne l'a pas trouvé et pour cause. Ouf il s'agissait d'un démonstrateur pas de prod.

Donc à tous les YAKAFOKON Oui il est très simple dans le gestionnaire de dépendance de surcharger la version de log4j pour en choisir une non impactée.
Mais sur les millions de lignes de code comment garantir que ce changement ne va pas introduire de bug ?
On pourrait imaginer que finalement ce ne sont que des log c'est pas si grave si on n'a pas la trace tant que le prog fonctionne mais voilà un changement de version de log4j sans précaution et up un nullpointerexception dans un log.info et le prog ne fonctionne plus.

Il n'y a rien de simple. C'est un travail permanent, une vigilance, et des mois de tests pour valider un assemblage.

A+JYT
5  0 
Avatar de TJ1985
Membre expérimenté https://www.developpez.com
Le 14/01/2022 à 9:34
C'est ce qui m'a toujours effrayé lorsque j'ai assisté à l'explosion des bibliothèques et plateformes en ligne. Pour avoir commis une fois un bug dans une librairie partagée, je mesure pleinement l'impact que ça peut avoir. Là, j'avais encore la main dessus, et sur l'ensemble des applications qui l'utilisaient et ça a quand même fait des dégâts. Mais si elle avait été lâchée dans la nature... à moi la peur !
J'ai l'impression que nous avons perdu la tête. Toutes les entreprises ne font pas du commerce en ligne, toutes n'ont pas besoin d'un cloud externe et beaucoup bénéficieraient des services d'un bon analyste bien plus que d'une SSII avide de rentabilité - pour elle-même.
5  1 
Avatar de gabriel21
Membre éprouvé https://www.developpez.com
Le 22/12/2021 à 12:23
Citation Envoyé par tabouret Voir le message
Un uptime de 300 jours est inconcevable d'un point de vue sécurité.
Peux tu expliquer en quoi c'est un problème de sécurité?
Si tu as :
- un noyau dédié qui n'embarque que le nécessaire et surtout pas de modules dynamiques (utile sur les stations de travail, inutile sur les serveurs);
- pas de mise à jour de sécurité sur les parties intégrés au noyau;
- pas besoin des nouvelles fonctionnalités;
- pas besoin des optimisations.

Il s'agit là de préconisations faite par l'ANSI, il y a encore 3 ans, lors d'un audit de sécurité sur les serveurs d'un OIV. L'agence disait déjà ça, il y a 20 ans pour les Unix, Linux, tout en conseillant l'application immédiates des patchs utiles avec redémarrage si nécessaire, voir passage sur ban de test pour certains serveurs industriels dont un arrêt brutal peux avoir des conséquences dramatiques.

Le fait que la majorité des patchs Windows nécessite un redémarrage est une problématique interne à Microsoft et effectivement sous Windows un Uptime de plus de 35 jours est purement suicidaire. Chez certains OIV, les serveurs Windows redémarrent automatiquement tous les 30 jours, ce qui est assez rare car finalement, la plupart serveurs ont tendance à être redémarré tous les 15 jours. C'est d’ailleurs une des raisons qui font que je me suis spécialisé sous Linux.
4  1 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 22/12/2021 à 8:24
Les projets devant être sorti pour la vielle, un développeur a tout intérêt à réutiliser des briques existantes, l'optimisation , on verra pour la version 1.1.

Car pourquoi se faire "bip" par les dépendances quand il suffit d'intégrer un framework de 4 Go pour 3 fonctions qui pèsent 3Ko, et plusieurs fois dans le projet...
Ben oui, si la machine demande plus de puissance à cause d'un framework, on la change, ça va plus vite.

On fait vite ou on fait bien ? that is the question.
1  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 22/12/2021 à 10:31
c'est pas forcément de la fainéantise, mais prendre un truc déjà fait c'est toujours plus rapide que de coder, donc quand on met la pression sur les délais...
1  0 
Avatar de Escapetiger
Expert éminent https://www.developpez.com
Le 22/12/2021 à 14:26
Citation Envoyé par gabriel21 Voir le message
Je vois dans les crises sécuritaires actuelles un problème plus profond :
L'architecture système repose sur une notion de couche et les développeurs ne comprennent plus rien aux bases, voir en ont rien à "bip".
Combien de fois j'ai pu entendre, j'en ai rien à faire de comment ça marche tant que ça marche de la part de nombreux développeurs (et pas uniquement Java ).
Il nous font "bip" tous ces administrateurs système avec leur "bip" de mise à jour qui casse mon super code de la mort qui tue tout. Parce que le problème, ce n'est pas nous, mais forcément les autres...

Mais moi qui fait un peu de programmation, mais qui suis administrateur système de vocation, je pleure.
Pour moi, le minimum est le mieux. Je pleure quand je dois faire 5 mises à jour de noyau Linux parce qu’il y a une faille sur une fonctionnalité que nous n'utilisons pas, mais vous comprenez avoir une personne qui compile un noyau qui correspond à notre besoin, ça coûte trop chère alors on utilise un noyau générique qui pèse 150Mo alors que l'on pourrait utiliser un noyau de 50 Mo qui ne demande pas de mise à jour régulière. Je regrettes ces serveur qui ont un Uptime de 3000 jours, car ayant un noyau optimisé pour leur matériel et n'utilisant pas le chargement dynamique de module du noyau Linux, n'ont pas de failles du moins connue...
Entièrement d'accord,

En tant qu'administrateur système et initié au développement également (via Cobol, le shell ksh, bash ...) au départ sur Mainframe (Ordinateur central), c'est effectivement une philosophie de la rigueur qui est difficilement applicable au quotidien dans des environnements inter-dépendants, complexifiés par les couches logicielles, le TTM (Time To Market) exigé (cf. le déploiement continu, DevOps, DevSecOps ...).

Sous la pression commune à nous tou.te.s, selon leur formation (parfois low-cost en 3, 6 mois), beaucoup de développeurs n'ont pas (plus) le temps, pas l'envie voire ne comprennent pas bien tous les rouages de la compatibilité ascendante et descendante; l'exigence de cloisonnement des environnements de développement, test, pré-production, production, le concept et les bonnes pratiques issues de ITIL (Information Technology Infrastructure Library) etc.

Comme par exemple dans ce blog de developpez dont on peut s'inspirer à propos de la compatibilté :

Définissons la compatibilité descendante :

Le nouveau serveur est compatible avec la version cliente précédente
Le nouveau client est compatible avec la version serveur précédente

Compatibilité ascendante :
l’ancien client est compatible avec la nouvelle version serveur
l’ancienne version serveur est compatible avec la nouvelle version client

En fait, c’est quand on développe une nouvelle version qu’il faut se poser la question. (Je connais des développeurs qui se sont fait des noeuds au cerveau avec ça, lol)
(.../...)
Source :
https://blog.developpez.com/cobos/
Le blog du développeur mainframe agile
Modernisons les usines de dev COBOL Mainframe
1  0 
Avatar de tabouret
Membre confirmé https://www.developpez.com
Le 23/12/2021 à 16:34
Mon avis? Bien fait pour le ministère de la défense Belge.

Une faille pareille ça se corrige dans la minute, pas deux semaines après.
1  0 
Avatar de TotoParis
Membre éclairé https://www.developpez.com
Le 23/12/2021 à 20:34
Citation Envoyé par tabouret Voir le message
Mon avis? Bien fait pour le ministère de la défense Belge.

Une faille pareille ça se corrige dans la minute, pas deux semaines après.
Ah le sale gosse ! Gros prétentieux en plus !
Bonhomme, si c'était aussi simple. Les YAKA-FAUKON...on en a plein !
2  1