Sécuriser les dépendances directes et transitives

Les correctifs php2shell (CVE-2026-109618 et CVE-2026-109619) pour les versions de PHP en fin de vie sont désormais disponibles. Les réponses du service commercial étant plus lentes que d'habitude en raison d'une forte demande, le moyen le plus rapide d'obtenir les paquets corrigés est d'acheter ELS for Runtimes en ligne (s'ouvre dans un nouvel onglet). Consulter la FAQ sur les correctifs

Accédez directement au résumé généré par l'IA de cet article de blog

  • Résumez cet article avec Perplexity
  • Résume cet article avec Gemini

Les dépendances open-source (OSS) représentent plus de 80 % du code des applications actuelles. Ces dépendances comprennent à la fois les dépendances explicitement choisies par les développeurs et les dépendances transitives, qui nécessitent des stratégies uniques de gestion des dépendances.

Lors du développement d'un projet, les programmeurs intègrent souvent des dépendances tierces pour simplifier leur travail. Ces dépendances dépendances directes sont explicitement déclarées dans le projet, souvent à l'aide d'outils comme Maven ou Gradle.

Toutefois, ces bibliothèques peuvent également utiliser des dépendances, créant ainsi des dépendances transitives qui ne sont pas directement importées dans le projet, mais plutôt par d'autres dépendances. Cette structure imbriquée de dépendances met en évidence la nature interconnectée du développement de logiciels et la dépendance à l'égard du code externe.

Les attaquants ne s'intéressent qu'à la possibilité d'exploiter une vulnérabilité, et non à son existence dans une dépendance directe ou transitive. En outre, le code de première partie appelle souvent directement les méthodes des dépendances transitives, établissant ainsi une relation directe entre votre code et le code de ces dépendances.

La surface d'attaque s'élargit en raison des dépendances transitives, ce qui rend les systèmes vulnérables à l'exploitation de plusieurs façons. Il existe quelques vecteurs d'attaque courants que vous devez connaître :

 

La confusion des dépendances peut entraîner des risques importants pour la sécurité, comme l'a démontré l'exploit 2020 du chercheur en sécurité Alex Birsan. M. Birsan a constaté que les entreprises utilisent souvent par inadvertance des noms de paquets internes dans des dépôts publics. Il a téléchargé des paquets malveillants portant des noms identiques et des numéros de version plus élevés dans des dépôts publics, ce qui a incité les responsables des dépendances à télécharger et à exécuter son code, ce qui a eu un impact sur de grandes organisations. Cela a mis en évidence le potentiel de violations de données et de dommages financiers et de réputation substantiels si ses intentions avaient été malveillantes.

 

L'injection de paquets malveillants constitue une autre menace, dans laquelle les attaquants compromettent les paquets de confiance existants. En prenant le contrôle du compte d'un responsable ou en introduisant des mises à jour nuisibles, ils peuvent insérer du code malveillant sans éveiller les soupçons. Un exemple récent concerne l'exploitation de Dependabot de GitHub, un outil automatisé de gestion des dépendances. Les attaquants ont obtenu un accès non autorisé et ont soumis de fausses demandes d'extraction déguisées en contributions légitimes à Dependabot. Ces mises à jour apparemment routinières, qualifiées de "correctifs de sécurité" ou de "patches", ont incité les développeurs à les fusionner, ce qui a permis aux attaquants de récolter et d'utiliser à mauvais escient des données sensibles.

 

L'exploitation des dépendances négligées est un autre vecteur d'attaque dont il faut être conscient. Les bibliothèques non maintenues, souvent négligées par les développeurs, deviennent des cibles faciles. La vulnérabilité Log4Shell de 2021 dans Apache Log4j illustre ce risque : la vulnérabilité permettait l'exécution de code à distance, mais l'impact généralisé provenait de la prévalence de Log4j en tant que dépendance transitive dans de nombreux systèmes. Les attaquants ont rapidement exploité cette faille, laissant les organisations se démener pour localiser et mettre à jour la bibliothèque cachée dans leurs structures de dépendance complexes.

 

TuxCare fournit des correctifs de sécurité pour les projets Java Spring avec des dépendances directes et pour les projets de l'écosystème Java, souvent inclus avec des dépendances transitives.

Notre Endless Lifecycle Support (ELS) pour Spring fournit des mises à jour de sécurité permanentes pour les projets Spring en fin de vie, y compris Spring Boot, Spring Framework, Spring Data, et bien d'autres encore. Vous pouvez ainsi rester en toute sécurité sur votre version Spring non supportée pendant autant d'années que vous le souhaitez.

Besoin de sécuriser vos applications Spring ? Demandez un devis ou posez-nous une question sur ELS for Spring ici.

 

 

Résumé
Les menaces cachées dans votre code : Sécuriser les dépendances directes et transitives
Nom de l'article
Les menaces cachées dans votre code : Sécuriser les dépendances directes et transitives
Description
Les dépendances open-source représentent plus de 80 % du code des applications actuelles. En savoir plus sur la sécurisation des dépendances directes et transitives
Auteur
Nom de l'éditeur
de TuxCare
Logo de l'éditeur

Rejoignez plus de 4 500 professionnels de Linux et de l'Open Source!

2 fois par mois. Pas de spam.

Table des matières
Obtenez les réponses à vos questions sur la sécurité des logiciels libres

Rejoignez plus de 4 500 professionnels de Linux et de l'Open Source!

2 fois par mois. Pas de spam.