{"id":152572,"date":"2025-07-03T11:02:22","date_gmt":"2025-07-03T18:02:22","guid":{"rendered":"https:\/\/unit42.paloaltonetworks.com\/?p=152572"},"modified":"2025-08-21T09:13:52","modified_gmt":"2025-08-21T16:13:52","slug":"apache-cve-2025-24813-cve-2025-27636-cve-2025-29891","status":"publish","type":"post","link":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/","title":{"rendered":"Apache \u00e0 la loupe\u00a0: PUT partiel de Tomcat et d\u00e9tournement de l\u2019en-t\u00eate Camel"},"content":{"rendered":"<h2><a id=\"post-152572-_heading=h.z6jkgl7ifljp\"><\/a>Synth\u00e8se<\/h2>\n<p>En mars 2025, Apache a divulgu\u00e9 la <a href=\"https:\/\/lists.apache.org\/thread\/j5fkjv2k477os90nczf2v9l61fb0kkgq\" target=\"_blank\" rel=\"noopener\">CVE-2025-24813<\/a>, une vuln\u00e9rabilit\u00e9 affectant Apache Tomcat. Il s\u2019agit d\u2019une plateforme largement utilis\u00e9e qui permet aux serveurs web Apache d\u2019ex\u00e9cuter des applications web bas\u00e9es sur Java. Cette faille permet d\u2019ex\u00e9cuter du code \u00e0 distance et affecte les versions 9.0.0.M1 \u00e0 9.0.98, 10.1.0-M1 \u00e0 10.1.34 et 11.0.0-M1 \u00e0 11.0.2 d\u2019Apache Tomcat.<\/p>\n<p>Le m\u00eame mois, Apache a r\u00e9v\u00e9l\u00e9 deux vuln\u00e9rabilit\u00e9s suppl\u00e9mentaires dans Apache Camel, un framework intergiciel de routage de messages. Ces vuln\u00e9rabilit\u00e9s sont les suivantes\u00a0: <a href=\"https:\/\/camel.apache.org\/security\/CVE-2025-27636.html\" target=\"_blank\" rel=\"noopener\">CVE-2025-27636<\/a> et <a href=\"https:\/\/camel.apache.org\/security\/CVE-2025-29891.html\" target=\"_blank\" rel=\"noopener\">CVE-2025-29891<\/a>, deux failles permettant l\u2019ex\u00e9cution de code \u00e0 distance, affectant Apache Camel versions 4.10.0 \u00e0 4.10.1, 4.8.0 \u00e0 4.8.4 et 3.10.0 \u00e0 3.22.3.<\/p>\n<p>Ces vuln\u00e9rabilit\u00e9s sont importantes car des millions de d\u00e9veloppeurs s\u2019appuient sur la plateforme fournie par la Fondation Apache. L\u2019exploitation r\u00e9ussie de ces vuln\u00e9rabilit\u00e9s peut permettre aux attaquants d\u2019ex\u00e9cuter du code arbitraire avec les privil\u00e8ges de Tomcat\/Camel.<\/p>\n<p>Apache a publi\u00e9 des correctifs, et des chercheurs ont rapidement publi\u00e9 des exploits de type \"preuve de concept\" (PoC). Des scans et des sondes de serveurs vuln\u00e9rables ont \u00e9t\u00e9 observ\u00e9s dans la nature peu apr\u00e8s la publication de ces informations. Nous avons confirm\u00e9 la possibilit\u00e9 d\u2019ex\u00e9cution de code \u00e0 distance \u00e0 partir de ces trois\u00a0vuln\u00e9rabilit\u00e9s.<\/p>\n<p>Palo Alto Networks a bloqu\u00e9 125\u00a0856\u00a0sondes\/scans\/tentatives d\u2019exploitation li\u00e9es \u00e0 ces vuln\u00e9rabilit\u00e9s en mars\u00a02025. Nous conseillons aux organisations d\u2019appliquer rapidement les correctifs.<\/p>\n<p>Les clients de Palo\u00a0Alto\u00a0Networks sont mieux prot\u00e9g\u00e9s gr\u00e2ce aux produits suivants\u00a0:<\/p>\n<ul>\n<li>Le <a href=\"https:\/\/docs.paloaltonetworks.com\/ngfw\" target=\"_blank\" rel=\"noopener\">pare-feu nouvelle g\u00e9n\u00e9ration<\/a> int\u00e9grant <a href=\"https:\/\/docs.paloaltonetworks.com\/advanced-threat-prevention\/administration\" target=\"_blank\" rel=\"noopener\">Advanced Threat Prevention<\/a> peut aider \u00e0 identifier et \u00e0 bloquer le trafic associ\u00e9<\/li>\n<li><a href=\"https:\/\/www.paloaltonetworks.com\/cortex\/cortex-xpanse\" target=\"_blank\" rel=\"noopener\">Cortex Xpanse<\/a> et le module compl\u00e9mentaire ASM pour <a href=\"https:\/\/www.paloaltonetworks.com\/cortex\/cortex-xsiam\" target=\"_blank\" rel=\"noopener\">Cortex XSIAM<\/a> peuvent identifier les serveurs Apache Tomcat orient\u00e9s vers l\u2019ext\u00e9rieur \u00e0 l\u2019aide de la r\u00e8gle de surface d\u2019attaque \"Tomcat Web Server\".<\/li>\n<\/ul>\n<p>Si vous pensez que votre entreprise a pu \u00eatre compromise ou si vous faites face \u00e0 une urgence, contactez l\u2019<a href=\"https:\/\/start.paloaltonetworks.com\/contact-unit42.html\" target=\"_blank\" rel=\"noopener\">\u00e9quipe Unit\u00a042 de r\u00e9ponse aux incidents<\/a>.<\/p>\n<table style=\"width: 98.4339%;\">\n<thead>\n<tr>\n<td style=\"width: 35%;\"><b>Unit\u00a042 -\u00a0Th\u00e9matiques connexes<\/b><\/td>\n<td style=\"width: 132.991%;\"><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/category\/vulnerabilities-fr\/\" target=\"_blank\" rel=\"noopener\"><b>Vulnerabilities<\/b><\/a>, <strong><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/cve-2025-24813-fr\/\" target=\"_blank\" rel=\"noopener\">CVE-2025-24813<\/a><\/strong>, <strong><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/cve-2025-27636-fr\/\" target=\"_blank\" rel=\"noopener\">CVE-2025-27636<\/a><\/strong>, <strong><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/cve-2025-29891-fr\/\" target=\"_blank\" rel=\"noopener\">CVE-2025-29891<\/a><\/strong><\/td>\n<\/tr>\n<\/thead>\n<\/table>\n<h2><a id=\"post-152572-_heading=h.57871cydo9y3\"><\/a>CVE-2025-24813\u00a0: Apache Tomcat<\/h2>\n<h3><a id=\"post-152572-_heading=h.i5jhwo6q7h7c\"><\/a>Aper\u00e7u des vuln\u00e9rabilit\u00e9s<\/h3>\n<p>CVE-2025-24813 est une <a href=\"https:\/\/lists.apache.org\/thread\/j5fkjv2k477os90nczf2v9l61fb0kkgq\" target=\"_blank\" rel=\"noopener\">vuln\u00e9rabilit\u00e9 dans la fonctionnalit\u00e9 PUT partielle d\u2019Apache Tomcat<\/a>,qui peut permettre \u00e0 des attaquants d\u2019\u00e9craser des fichiers de session s\u00e9rialis\u00e9s sur le disque, conduisant \u00e0 l\u2019ex\u00e9cution de code arbitraire.<\/p>\n<p>Cette vuln\u00e9rabilit\u00e9 survient lorsque Tomcat est configur\u00e9 pour conserver les donn\u00e9es de session HTTP, car les syst\u00e8mes Tomcat sans correctif traitent de mani\u00e8re incorrecte les requ\u00eates PUT partielles contenant l\u2019en-t\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range.<\/span><\/p>\n<h4><a id=\"post-152572-_heading=h.vyynp9rfkcby\"><\/a>PUT partiel<\/h4>\n<p>Le terme \"<a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#name-partial-put\" target=\"_blank\" rel=\"noopener\">PUT partiel<\/a>\" se r\u00e9f\u00e8re \u00e0 une requ\u00eate HTTP PUT qui ne met \u00e0 jour qu\u2019une partie d\u2019une ressource au lieu de la remplacer enti\u00e8rement. Lorsqu\u2019il est pris en charge, le PUT partiel utilise g\u00e9n\u00e9ralement l\u2019en-t\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range<\/span> dans une requ\u00eate HTTP pour sp\u00e9cifier quelle partie de la ressource doit \u00eatre modifi\u00e9e.<\/p>\n<p>Cela permet aux clients de t\u00e9l\u00e9charger ou d\u2019\u00e9craser des segments de ressources par blocs. Un PUT partiel peut \u00eatre exploit\u00e9 pour effectuer des t\u00e9l\u00e9chargements incr\u00e9mentiels de fichiers, \u00e9craser des parties sp\u00e9cifiques de fichiers ou contourner certains contr\u00f4les de s\u00e9curit\u00e9 s\u2019il n\u2019est pas correctement g\u00e9r\u00e9.<\/p>\n<h4><a id=\"post-152572-_heading=h.wbeaari5wem4\"><\/a>Fonctionnalit\u00e9 de persistance de session dans Apache Tomcat<\/h4>\n<p>Le gestionnaire de session HTTP d\u2019Apache Tomcat comprend une fonctionnalit\u00e9 de persistance de session. Cette fonctionnalit\u00e9 enregistre les donn\u00e9es de session dans un fichier ou une base de donn\u00e9es lorsque le serveur est arr\u00eat\u00e9, et recharge ces donn\u00e9es mises en cache lorsque le serveur est red\u00e9marr\u00e9. Les donn\u00e9es de session contiennent des informations telles que l\u2019\u00e9tat de connexion et les pr\u00e9f\u00e9rences de l\u2019utilisateur, et cette fonctionnalit\u00e9 permet de pr\u00e9server les donn\u00e9es de session d\u2019un utilisateur lors des red\u00e9marrages du serveur.<\/p>\n<p>Tomcat encode ces donn\u00e9es de session sauvegard\u00e9es sous la forme d\u2019un flux d\u2019octets \u00e0 l\u2019aide d\u2019un processus appel\u00e9 <a href=\"https:\/\/docs.oracle.com\/javase\/8\/docs\/technotes\/guides\/serialization\/index.html\" target=\"_blank\" rel=\"noopener\">s\u00e9rialisation<\/a> et stocke les donn\u00e9es s\u00e9rialis\u00e9es dans le syst\u00e8me de fichiers local. Il s\u00e9rialise tous les attributs de la session stock\u00e9s dans l\u2019objet <span style=\"font-family: 'courier new', courier, monospace;\">HttpSession<\/span>. Cela inclut toutes les donn\u00e9es que votre application web place explicitement dans la session en utilisant<span style=\"font-family: 'courier new', courier, monospace;\"> session.setAttribute()<\/span>. Les informations sont g\u00e9n\u00e9ralement stock\u00e9es quelque part dans <span style=\"font-family: 'courier new', courier, monospace;\">$TOMCAT_HOME\/webapps\/ROOT\/<\/span>.<\/p>\n<p>Cependant, les donn\u00e9es de session s\u00e9rialis\u00e9es sont stock\u00e9es dans le m\u00eame r\u00e9pertoire que celui utilis\u00e9 par la fonction <span style=\"font-family: 'courier new', courier, monospace;\">executePartialPut<\/span> de Tomcat. Les utilisateurs peuvent \u00e9laborer des requ\u00eates HTTP pour contr\u00f4ler l\u2019identifiant de session et le nom de fichier des donn\u00e9es mises en cache dans ce r\u00e9pertoire. Cela pourrait permettre \u00e0 un attaquant de d\u00e9finir intentionnellement l\u2019identifiant de session pour qu\u2019il corresponde au nom de fichier mis en cache d\u2019un code malveillant pr\u00e9c\u00e9demment enregistr\u00e9 dans le cache. Cela peut entra\u00eener la d\u00e9s\u00e9rialisation du fichier mis en cache, ce qui d\u00e9clenche le code malveillant int\u00e9gr\u00e9.<\/p>\n<h4><a id=\"post-152572-_heading=h.n7alzmy172sr\"><\/a>Conditions pr\u00e9alables<\/h4>\n<p>L\u2019en-t\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range<\/span> est souvent utilis\u00e9 pour les mises \u00e0 jour partielles. Cet en-t\u00eate indique que le corps de la demande contient une partie de la ressource plut\u00f4t que la ressource enti\u00e8re. Si une requ\u00eate HTTP PUT contient un en-t\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range<\/span>, Tomcat enregistre le contenu (corps) de la requ\u00eate PUT \u00e0 l\u2019emplacement du cache. L\u2019extrait de code suivant montre que Tomcat enregistre les donn\u00e9es d\u2019une requ\u00eate HTTP PUT contenant du contenu.<\/p>\n<pre class=\"lang:default decode:true\">if (range != null) {\r\n\r\nFile contentFile = executePartialPut(req, range, path);<\/pre>\n<p>Une configuration Tomcat vuln\u00e9rable doit avoir deux conditions pr\u00e9alables pour exploiter cette vuln\u00e9rabilit\u00e9\u00a0:<\/p>\n<ol>\n<li>Un param\u00e8tre en lecture seule d\u00e9sactiv\u00e9 dans le fichier de configuration de Tomcat \u00e0 <span style=\"font-family: 'courier new', courier, monospace;\">$TOMCAT_HOME\/conf\/web.xml<\/span>. La section du fichier <span style=\"font-family: 'courier new', courier, monospace;\">web.xml<\/span> qui contient un param\u00e8tre d\u00e9sactiv\u00e9 en lecture seule est la suivante.<\/li>\n<\/ol>\n<pre class=\"lang:default decode:true\">&lt;init-param&gt;\r\n\r\n&lt;param-name&gt;readonly&lt;\/param-name&gt;\r\n\r\n&lt;param-value&gt;false&lt;\/param-value&gt;\r\n\r\n&lt;\/init-param&gt;\r\n\r\n[end code]\r\n\r\nSession persistence is enabled in the Tomcat configuration file at $TOMCAT_HOME\/conf\/content.xml. The section of content.xml that demonstrates enabled session persistence follows.\r\n\r\n[begin code]\r\n\r\n&lt;Manager className=\"org.apache.catalina.session.PersistentManager\"&gt;\r\n\r\n&lt;Store className=\"org.apache.catalina.session.FileStore\" \/&gt;\r\n\r\n&lt;\/Manager&gt;<\/pre>\n<h3><a id=\"post-152572-_heading=h.uzi59lp3m1wc\"><\/a>Exploitation de la vuln\u00e9rabilit\u00e9<\/h3>\n<p>Nous avons <a href=\"https:\/\/github.com\/PaloAltoNetworks\/Unit42-timely-threat-intel\/blob\/main\/2025-03-14-Testing-CVE-2025-24813.md\" target=\"_blank\" rel=\"noopener\">test\u00e9 l\u2019exploitation de la CVE-2025-24813<\/a> en mars\u00a02025. L\u2019exploitation de cette vuln\u00e9rabilit\u00e9 se fait en deux \u00e9tapes\u00a0:<\/p>\n<ul>\n<li>Tout d\u2019abord, pr\u00e9parez le payload en le terminant en tant que fichier par une requ\u00eate HTTP PUT avec une plage de contenu et un nom de fichier auto-d\u00e9fini dans l\u2019URL. Ce fichier contient du code malveillant s\u00e9rialis\u00e9 en vue d\u2019une d\u00e9s\u00e9rialisation ult\u00e9rieure.<\/li>\n<li>Ensuite, d\u00e9clenchez l\u2019exploit en envoyant une requ\u00eate HTTP GET suppl\u00e9mentaire contenant un cookie compos\u00e9 de <span style=\"font-family: 'courier new', courier, monospace;\">JSESSIONID=<\/span> imm\u00e9diatement suivi du nom de fichier d\u00e9fini par l\u2019utilisateur et pr\u00e9c\u00e9d\u00e9 d\u2019un point. Dans ce cas, le format de la ligne de cookie est le suivant\u00a0: <span style=\"font-family: 'courier new', courier, monospace;\">Cookie:<\/span> \"<span style=\"font-family: 'courier new', courier, monospace;\">JSESSIONID=.<em>[nom de fichier]<\/em><\/span>\", comme l\u2019indique la figure\u00a01 ci-dessous. Cela d\u00e9clenchera la d\u00e9s\u00e9rialisation du cache pour ex\u00e9cuter le code malveillant.<\/li>\n<\/ul>\n<figure id=\"attachment_152762\" aria-describedby=\"caption-attachment-152762\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152762 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-70850-152572-1.png\" alt=\"Organigramme d\u00e9crivant un processus de cyberattaque en deux\u00a0\u00e9tapes. \u00c0 l\u2019\u00e9tape\u00a01, une requ\u00eate HTTP intitul\u00e9e &quot;PUT \/filename.session&quot; avec &quot;Content-Range: bytes 0-5\/100&quot; est envoy\u00e9e \u00e0 un serveur. \u00c0 l\u2019\u00e9tape\u00a02, un pirate envoie une requ\u00eate HTTP intitul\u00e9e &quot;GET \/&quot; avec &quot;Cookie: JSESSIONID=_filename&quot; au serveur. Les fl\u00e8ches indiquent le sens de la communication entre les \u00e9tapes et le serveur.\" width=\"800\" height=\"428\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-70850-152572-1.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-70850-152572-1-786x421.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-70850-152572-1-1308x700.png 1308w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-70850-152572-1-768x411.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-70850-152572-1-1536x822.png 1536w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-152762\" class=\"wp-caption-text\">Figure 1. Deux \u00e9tapes de l\u2019exploit.<\/figcaption><\/figure>\n<h4><a id=\"post-152572-_heading=h.dl4omw479cdd\"><\/a>\u00c9tape\u00a01\u00a0: Pr\u00e9production du code malveillant s\u00e9rialis\u00e9<\/h4>\n<p>Cette premi\u00e8re \u00e9tape consiste \u00e0 envoyer un fichier de code malveillant s\u00e9rialis\u00e9 dans le corps d\u2019une requ\u00eate HTTP PUT. Apache Tomcat mettra en cache le code malveillant en tant que fichier de session sur le syst\u00e8me de fichiers local, puisque le nom du fichier dans l\u2019URI se termine par <span style=\"font-family: 'courier new', courier, monospace;\">.session<\/span>, comme le montre la figure\u00a02 dans la ligne d\u2019en-t\u00eate PUT.<\/p>\n<p>La figure 2 montre la requ\u00eate PUT de la premi\u00e8re \u00e9tape avec <span style=\"font-family: 'courier new', courier, monospace;\">gopan.session<\/span> comme nom de fichier. Le format de cette requ\u00eate HTTP PUT du trafic est le suivant\u00a0:<\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace;\">PUT \/<em>[nom du fichier]<\/em>.session HTTP\/1.1<\/span><\/p>\n<figure id=\"attachment_152773\" aria-describedby=\"caption-attachment-152773\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152773 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-75023-152572-2.png\" alt=\"Capture d\u2019\u00e9cran d\u2019une requ\u00eate HTTP PUT avec une partie de l\u2019en-t\u00eate et du contenu du fichier. L\u2019en-t\u00eate comprend des informations sur l\u2019h\u00f4te, le type de connexion et la longueur du contenu. Une section mise en surbrillance indique que le nom de fichier &quot;gopan.session&quot; est envoy\u00e9 en tant que contenu de la requ\u00eate.\" width=\"800\" height=\"432\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-75023-152572-2.png 1116w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-75023-152572-2-786x424.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-75023-152572-2-768x414.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-152773\" class=\"wp-caption-text\">Figure 2. Payload \u00e0 l\u2019\u00e9tape 1.<\/figcaption><\/figure>\n<h4><a id=\"post-152572-_heading=h.zalg1d8ehnu0\"><\/a>\u00c9tape\u00a02\u00a0: D\u00e9clenchement de l\u2019exploit<\/h4>\n<p>La deuxi\u00e8me \u00e9tape consiste \u00e0 envoyer une requ\u00eate HTTP GET de suivi pour d\u00e9clencher l\u2019exploit et ex\u00e9cuter le code malveillant. La figure 3 montre la requ\u00eate HTTP GET avec la valeur du cookie <span style=\"font-family: 'courier new', courier, monospace;\">JSESSIONID<\/span> utilis\u00e9e \u00e0 l\u2019\u00e9tape pr\u00e9c\u00e9dente. Le format de ce cookie est le suivant\u00a0:<\/p>\n<p><span style=\"font-family: 'courier new', courier, monospace;\">Cookie: JSESSIONID=.<em>[nom du fichier]<\/em><\/span><\/p>\n<figure id=\"attachment_152784\" aria-describedby=\"caption-attachment-152784\" style=\"width: 700px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152784 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-78217-152572-3.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un terminal d\u2019ordinateur affichant des requ\u00eates et des r\u00e9ponses\u00a0HTTP. La r\u00e9ponse indique une erreur HTTP 500, et certaines donn\u00e9es du cookie font r\u00e9f\u00e9rence aux noms de fichiers &quot;gopan&quot; et &quot;gopan-family&quot;.\" width=\"700\" height=\"378\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-78217-152572-3.png 1114w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-78217-152572-3-786x425.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-78217-152572-3-768x415.png 768w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption id=\"caption-attachment-152784\" class=\"wp-caption-text\">Figure 3. Exploitation de la vuln\u00e9rabilit\u00e9 pour ex\u00e9cuter le payload envoy\u00e9 \u00e0 l\u2019\u00e9tape 1.<\/figcaption><\/figure>\n<p>La valeur du cookie pour cet exploit utilise un point (.) avant la valeur du nom de fichier du <span style=\"font-family: 'courier new', courier, monospace;\">JSESSIONID<\/span>. Ce point initial conduira Tomcat \u00e0 enregistrer le fichier de session avec le point initial.<\/p>\n<h4><a id=\"post-152572-_heading=h.fbqi2wax5jsr\"><\/a>Analyses du code source des pages web<\/h4>\n<h5><a id=\"post-152572-_heading=h.nbm0tnrtzus\"><\/a>Comment Tomcat met en cache le corps du message PUT dans un fichier<\/h5>\n<p>Comme le montre la figure 5, Tomcat v\u00e9rifie d\u2019abord si l\u2019indicateur \"<span style=\"font-family: 'courier new', courier, monospace;\">readonly<\/span>\" est activ\u00e9 dans le fichier de configuration. Si c\u2019est le cas, Tomcat n\u2019\u00e9crit aucun code dans le cache, y compris le code malveillant.<\/p>\n<figure id=\"attachment_152795\" aria-describedby=\"caption-attachment-152795\" style=\"width: 900px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152795 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-81127-152572-4.png\" alt=\"Organigramme d\u00e9taillant les interactions entre les op\u00e9rations HttpServlet. Il commence par &quot;doPut&quot; qui traite une requ\u00eate et une r\u00e9ponse, v\u00e9rifiant la faisabilit\u00e9 et la port\u00e9e avant de d\u00e9cider d\u2019ex\u00e9cuter &quot;executePartialPut&quot; ou &quot;write req, save the file&quot;. Une autre branche affiche &quot;replacePartialPut&quot; traitant une requ\u00eate de type cha\u00eene, cr\u00e9ant un fichier temporaire, v\u00e9rifiant l\u2019objet fichier et \u00e9crivant la session dans l\u2019objet fichier.\" width=\"900\" height=\"848\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-81127-152572-4.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-81127-152572-4-467x440.png 467w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-81127-152572-4-743x700.png 743w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-81127-152572-4-768x723.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-81127-152572-4-1536x1447.png 1536w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><figcaption id=\"caption-attachment-152795\" class=\"wp-caption-text\">Figure 4. Premi\u00e8re \u00e9tape : \u00e0 partir de PUT pour \u00e9crire un fichier.<\/figcaption><\/figure>\n<ul>\n<li>Si l\u2019option <span style=\"font-family: 'courier new', courier, monospace;\">readonly<\/span> n\u2019est pas activ\u00e9e, Tomcat v\u00e9rifie \u00e9galement le champ <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range<\/span> dans l\u2019en-t\u00eate HTTP.<\/li>\n<li>Si la demande ne comporte pas d\u2019en-t\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range<\/span>, Tomcat met fin au processus.<\/li>\n<li>Si la requ\u00eate comporte un en-t\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range<\/span>, Tomcat enregistre les donn\u00e9es de session de la requ\u00eate HTTP PUT, en l\u2019occurrence <span style=\"font-family: 'courier new', courier, monospace;\">gopan.session<\/span>, \u00e0 deux endroits, comme le montre la figure\u00a05.\n<ul>\n<li>Le premier est enregistr\u00e9 comme un fichier cache normal sous <span style=\"font-family: 'courier new', courier, monospace;\">$TOMCAT_HOME\/webapps\/ROOT\/<\/span> sans \u00eatre pr\u00e9c\u00e9d\u00e9 de point.<\/li>\n<li>Le second est enregistr\u00e9 dans un fichier temporaire avec un point au d\u00e9but sous le r\u00e9pertoire de travail <span style=\"font-family: 'courier new', courier, monospace;\">$TOMCAT_HOME\/work\/Catalina\/localhost\/ROOT\/<\/span>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<figure id=\"attachment_152806\" aria-describedby=\"caption-attachment-152806\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152806 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-85013-152572-5.png\" alt=\"Capture d\u2019\u00e9cran d\u2019une structure de r\u00e9pertoire dans un IDE, mettant en \u00e9vidence l\u2019installation d\u2019Apache Tomcat avec des fichiers sous le r\u00e9pertoire de travail. R\u00e9pertoire racine de l\u2019installation de Tomcat. Fichier de session dont le nom n\u2019est pas pr\u00e9c\u00e9d\u00e9 d\u2019un point, stock\u00e9 comme un fichier normal dans le r\u00e9pertoire cache actuel. Fichier de session dont le nom est pr\u00e9c\u00e9d\u00e9 d\u2019un point, stock\u00e9 en tant que fichier temporaire dans le r\u00e9pertoire de travail.\" width=\"800\" height=\"964\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-85013-152572-5.png 1699w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-85013-152572-5-365x440.png 365w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-85013-152572-5-581x700.png 581w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-85013-152572-5-768x926.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-85013-152572-5-1274x1536.png 1274w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-152806\" class=\"wp-caption-text\">Figure\u00a05. Fichier de session mis en cache.<\/figcaption><\/figure>\n<p>Il est important de noter que lorsque Tomcat restaure une session, il charge \u00e9galement le fichier de session mis en cache dans le m\u00eame dossier de travail.<\/p>\n<p>Les figures\u00a06 et 7 montrent des segments de code du servlet Java par d\u00e9faut que Tomcat utilise pour charger les fichiers de session mis en cache lors de la restauration d\u2019une session, \u00e0 l\u2019adresse <span style=\"font-family: 'courier new', courier, monospace;\">java\/org\/apache\/catalina\/servlets\/DefaultServlet.java<\/span>. Les commentaires en jaune d\u00e9crivent les mesures ex\u00e9cut\u00e9es par le code.<\/p>\n<figure id=\"attachment_152817\" aria-describedby=\"caption-attachment-152817\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152817 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-89787-152572-6.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un programme Java affichant le code relatif au traitement des requ\u00eates et des r\u00e9ponses du serveur\u00a0HTTP.\" width=\"800\" height=\"947\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-89787-152572-6.png 1248w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-89787-152572-6-372x440.png 372w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-89787-152572-6-591x700.png 591w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-89787-152572-6-768x910.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-152817\" class=\"wp-caption-text\">Figure\u00a06. Premier segment de code du servlet Java par d\u00e9faut d\u2019Apache utilis\u00e9 par Tomcat.<\/figcaption><\/figure>\n<figure id=\"attachment_152828\" aria-describedby=\"caption-attachment-152828\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152828 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-92809-152572-7.png\" alt=\"Capture d\u2019\u00e9cran montrant une section de code de programmation, affich\u00e9e dans un \u00e9diteur de texte avec mise en \u00e9vidence de la syntaxe.\" width=\"800\" height=\"1201\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-92809-152572-7.png 1248w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-92809-152572-7-293x440.png 293w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-92809-152572-7-466x700.png 466w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-92809-152572-7-768x1153.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-92809-152572-7-1023x1536.png 1023w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-152828\" class=\"wp-caption-text\">Figure 7. Deuxi\u00e8me segment de code du servlet Java par d\u00e9faut d\u2019Apache utilis\u00e9 par Tomcat.<\/figcaption><\/figure>\n<h5><a id=\"post-152572-_heading=h.qyz2f8ran3cc\"><\/a>Comment la vuln\u00e9rabilit\u00e9 est d\u00e9clench\u00e9e par une requ\u00eate HTTP<\/h5>\n<p>Lorsque Tomcat re\u00e7oit une requ\u00eate HTTP avec un identifiant de session, si la persistance de session est activ\u00e9e dans la configuration, <a href=\"https:\/\/github.com\/PaloAltoNetworks\/Unit42-timely-threat-intel\/blob\/main\/2025-03-14-Testing-CVE-2025-24813.md\" target=\"_blank\" rel=\"noopener\">il essaiera de trouver la session dans la m\u00e9moire<\/a>. Si Tomcat ne trouve pas la session en m\u00e9moire, il la restaure \u00e0 partir du fichier cache sauvegard\u00e9. \u00c0 ce stade, Tomcat d\u00e9s\u00e9rialise le fichier de session, comme le montre la figure\u00a08.<\/p>\n<figure id=\"attachment_152839\" aria-describedby=\"caption-attachment-152839\" style=\"width: 900px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152839 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-96313-152572-8.png\" alt=\"Organigramme repr\u00e9sentant les processus de gestion des sessions. Il comprend des fonctions telles que findSession, swapIn, loadSessionFromStore et load ainsi que des d\u00e9tails sur des \u00e9tapes telles que la v\u00e9rification de la pr\u00e9sence de la session en m\u00e9moire, le chargement \u00e0 partir du magasin et la d\u00e9s\u00e9rialisation du contenu.\" width=\"900\" height=\"764\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-96313-152572-8.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-96313-152572-8-518x440.png 518w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-96313-152572-8-824x700.png 824w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-96313-152572-8-768x652.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-96313-152572-8-1536x1304.png 1536w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><figcaption id=\"caption-attachment-152839\" class=\"wp-caption-text\">Figure 8. Deuxi\u00e8me \u00e9tape : de l\u2019ID de session \u00e0 la d\u00e9s\u00e9rialisation.<\/figcaption><\/figure>\n<p>La figure\u00a08 illustre le flux de gestion des sessions de Tomcat. Le code qui localise les sessions, les charge \u00e0 partir du disque et d\u00e9s\u00e9rialise leur contenu est mis en \u0153uvre dans les fichiers suivants\u00a0:<\/p>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">java\/org\/apache\/catalina\/session\/PersistentManagerBase.java<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">java\/org\/apache\/catalina\/Store.java<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">java\/org\/apache\/catalina\/session\/FileStore.java<\/span><\/li>\n<\/ul>\n<p>La figure 9 montre un segment de code de <span style=\"font-family: 'courier new', courier, monospace;\">java\/org\/apache\/catalina\/session\/PersistentManagerBase.java<\/span> qui demande \u00e0 Tomcat de trouver un fichier pour les donn\u00e9es de session, si celles-ci ne sont pas disponibles en m\u00e9moire.<\/p>\n<figure id=\"attachment_152850\" aria-describedby=\"caption-attachment-152850\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152850 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-100032-152572-9.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un code informatique en Java. Le code comprend une m\u00e9thode appel\u00e9e findSession avec des commentaires expliquant les parties de la logique du code li\u00e9es \u00e0 la v\u00e9rification de la disponibilit\u00e9 de la session en m\u00e9moire et \u00e0 sa r\u00e9cup\u00e9ration \u00e0 partir d\u2019un fichier si elle n\u2019est pas d\u00e9tect\u00e9e.\" width=\"1000\" height=\"405\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-100032-152572-9.png 1248w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-100032-152572-9-786x319.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-100032-152572-9-768x311.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-152850\" class=\"wp-caption-text\">Figure 9. Segment de code de <span style=\"font-family: 'courier new', courier, monospace;\">PersistentManagerBase.java<\/span> pour rechercher les donn\u00e9es de session dans un fichier si elles ne figurent pas en m\u00e9moire.<\/figcaption><\/figure>\n<p>Les figures\u00a010 et 11 montrent des segments de code du m\u00eame fichier <span style=\"font-family: 'courier new', courier, monospace;\">PersistentManagerBase.java<\/span> qui illustrent le chargement des donn\u00e9es de session \u00e0 partir d\u2019un fichier cache sauvegard\u00e9.<\/p>\n<figure id=\"attachment_152861\" aria-describedby=\"caption-attachment-152861\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152861 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-103513-152572-10.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un code informatique pr\u00e9sentant la syntaxe de gestion des sessions et des exceptions.\" width=\"1000\" height=\"550\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-103513-152572-10.png 1248w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-103513-152572-10-786x432.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-103513-152572-10-768x422.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-152861\" class=\"wp-caption-text\">Figure 10. Segment de code de PersistentManagerBase.java pour charger une session \u00e0 partir d\u2019un fichier (1 sur 2).<\/figcaption><\/figure>\n<figure id=\"attachment_152872\" aria-describedby=\"caption-attachment-152872\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152872 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-106372-152572-11.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un extrait de code affichant une m\u00e9thode nomm\u00e9e &quot;loadSessionFromStore&quot;. Le code comprend la gestion des exceptions et l\u2019enregistrement des messages d\u2019erreur.\" width=\"1000\" height=\"405\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-106372-152572-11.png 1248w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-106372-152572-11-786x319.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-106372-152572-11-768x311.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-152872\" class=\"wp-caption-text\">Figure 11. Segment de code de <span style=\"font-family: 'courier new', courier, monospace;\">PersistentManagerBase.java<\/span> pour charger une session \u00e0 partir d\u2019un fichier (2 sur 2).<\/figcaption><\/figure>\n<p>Comme le montre la figure 11, <span style=\"font-family: 'courier new', courier, monospace;\">store.load(id)<\/span> d\u00e9clenche la d\u00e9s\u00e9rialisation, ce qui active le code malveillant pr\u00e9c\u00e9demment int\u00e9gr\u00e9 au fichier par l\u2019attaquant. Il en r\u00e9sulte une ex\u00e9cution de code arbitraire.<\/p>\n<p>L\u2019examen de ce code source r\u00e9v\u00e8le tout d\u2019abord comment Tomcat enregistre les donn\u00e9es de session \u00e0 partir d\u2019une requ\u00eate HTTP PUT, un processus par lequel un attaquant peut stocker du code malveillant. Cet examen permet \u00e9galement de comprendre comment un exploit pour la vuln\u00e9rabilit\u00e9 CVE-2025-24813 peut \u00eatre d\u00e9clench\u00e9 par une simple requ\u00eate HTTP GET de suivi.<\/p>\n<p>Cependant, Tomcat n\u2019est pas le seul logiciel Apache pour lequel nous avons vu des tentatives d\u2019exploitation dans la nature. Nous avons \u00e9galement constat\u00e9 des tentatives d\u2019exploitation de deux vuln\u00e9rabilit\u00e9s dans Apache Camel.<\/p>\n<h2><a id=\"post-152572-_heading=h.6j024j6crxj8\"><\/a>CVE-2025-27636 et CVE-2025-29891\u00a0: Apache Camel<\/h2>\n<h3><a id=\"post-152572-_heading=h.7s1cbfwiv1z5\"><\/a>Pr\u00e9sentation d\u2019Apache Camel<\/h3>\n<p>Apache Camel est un cadriciel d\u2019int\u00e9gration open-source qui permet aux d\u00e9veloppeurs de connecter diff\u00e9rents syst\u00e8mes de mani\u00e8re fiable et \u00e9volutive. Gr\u00e2ce \u00e0 Camel, les d\u00e9veloppeurs peuvent d\u00e9finir des r\u00e8gles de routage et de m\u00e9diation dans une vari\u00e9t\u00e9 de langages sp\u00e9cifiques \u00e0 un domaine afin d\u2019int\u00e9grer divers syst\u00e8mes et applications. Apache Camel prend en charge un large \u00e9ventail de protocoles et de technologies.<\/p>\n<p>La plupart des gestionnaires de messages Camel sont fournis sous forme de paquets Java, ce qui permet au d\u00e9veloppeur de choisir les paquets \u00e0 inclure dans son produit.<\/p>\n<h3><a id=\"post-152572-_heading=h.k1qy3nmsbxkz\"><\/a>D\u00e9tails de l\u2019exploitation<\/h3>\n<p>Qu\u2019il soit chiffr\u00e9 ou non, le protocole HTTP est une m\u00e9thode courante pour envoyer des donn\u00e9es sur Internet. Alors que Camel utilise diff\u00e9rents types de composants HTTP tels que <a href=\"https:\/\/camel.apache.org\/components\/4.10.x\/jetty-component.html\" target=\"_blank\" rel=\"noopener\">Jetty<\/a> et <a href=\"https:\/\/camel.apache.org\/components\/4.10.x\/netty-component.html\" target=\"_blank\" rel=\"noopener\">Netty<\/a>, Camel achemine finalement les messages HTTP analys\u00e9s vers ses composants principaux, connus sous le nom de <a href=\"https:\/\/camel.apache.org\/camel-core\/\" target=\"_blank\" rel=\"noopener\">camel-core<\/a> pour un traitement ult\u00e9rieur.<\/p>\n<p>Pour faciliter l\u2019\u00e9change de donn\u00e9es entre Camel et ses composants HTTP tels que Jetty et Netty, les d\u00e9veloppeurs ont con\u00e7u une m\u00e9thode utilisant des paires cl\u00e9-valeur pour stocker des informations contextuelles importantes, telles que le code de r\u00e9ponse HTTP. \u00c9tant donn\u00e9 que les en-t\u00eates HTTP sont utilis\u00e9s lors du traitement, Camel les stocke \u00e9galement dans la m\u00eame paire cl\u00e9-valeur. Pour \u00e9viter les conflits entre les informations contextuelles internes et les donn\u00e9es externes, les d\u00e9veloppeurs de Camel ont ajout\u00e9 un pr\u00e9fixe <span style=\"font-family: 'courier new', courier, monospace;\">Camel<\/span> \u00e0 toutes les cl\u00e9s contextuelles internes et ont mis en place un filtre pour emp\u00eacher les en-t\u00eates externes de poser probl\u00e8me (figure\u00a012).<\/p>\n<figure id=\"attachment_152883\" aria-describedby=\"caption-attachment-152883\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152883 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-109072-152572-12.png\" alt=\"Diagramme montrant deux sections intitul\u00e9es En-t\u00eates HTTP et En-t\u00eates Camel, chacune contenant des exemples de noms d\u2019en-t\u00eates sp\u00e9cifiques tels que User-Agent, Host, Accept, CamelExecCommandExecutable et CamelHttpResponseCode.\" width=\"1000\" height=\"536\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-109072-152572-12.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-109072-152572-12-786x421.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-109072-152572-12-1306x700.png 1306w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-109072-152572-12-768x412.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-109072-152572-12-1536x824.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-152883\" class=\"wp-caption-text\">Figure 12. En-t\u00eates HTTP normaux compar\u00e9s aux en-t\u00eates HTTP Camel d\u2019Apache.<\/figcaption><\/figure>\n<p>Cependant, comme le filtre est sensible \u00e0 la casse, un attaquant pourrait potentiellement le contourner en modifiant la casse des en-t\u00eates.<\/p>\n<h3>Analyses du code source des pages web<\/h3>\n<p>Par d\u00e9faut, Camel enregistre le gestionnaire de filtre d\u2019en-t\u00eate par d\u00e9faut. Il demande au filtre d\u2019ignorer toutes les lignes d\u2019en-t\u00eate qui commencent par <span style=\"font-family: 'courier new', courier, monospace;\">Camel<\/span>, <span style=\"font-family: 'courier new', courier, monospace;\">camel<\/span> et <span style=\"font-family: 'courier new', courier, monospace;\">org.apache.camel<\/span>. Le code correspondant se trouve dans <span style=\"font-family: 'courier new', courier, monospace;\">components\/camel-http-base\/src\/main\/java\/org\/apache\/camel\/http\/base\/HttpHeaderFilterStrategy.java<\/span>, et la figure\u00a013 montre le segment correspondant.<\/p>\n<figure id=\"attachment_152894\" aria-describedby=\"caption-attachment-152894\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152894 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-112516-152572-13.png\" alt=\"Image d\u2019un extrait de code nomm\u00e9 HttpHeaderFilterStrategy, montrant les m\u00e9thodes li\u00e9es au filtrage des en-t\u00eates HTTP. Inclut des commentaires de code et des \u00e9l\u00e9ments tels que les conditions de filtrage sp\u00e9cifiant la notation Camel et les noms de domaine.\" width=\"800\" height=\"317\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-112516-152572-13.png 1222w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-112516-152572-13-786x311.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-112516-152572-13-768x304.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-152894\" class=\"wp-caption-text\">Figure 13. Segment de code de <span style=\"font-family: 'courier new', courier, monospace;\">HttpHeaderFilterStrategy.java<\/span> pour ignorer des lignes d\u2019en-t\u00eate sp\u00e9cifiques.<\/figcaption><\/figure>\n<p>Camel \u00e9num\u00e8re les en-t\u00eates des requ\u00eates HTTP, ex\u00e9cute la fonction <span style=\"font-family: 'courier new', courier, monospace;\">applyFilterToExternalHeaders<\/span> et \u00e9crit les en-t\u00eates dans une carte interne en utilisant <span style=\"font-family: 'courier new', courier, monospace;\">components\/camel-http-common\/src\/main\/java\/org\/apache\/camel\/http\/common\/DefaultHttpBinding.java<\/span> comme l\u2019indique la figure\u00a014 ci-dessous.<\/p>\n<figure id=\"attachment_152905\" aria-describedby=\"caption-attachment-152905\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152905 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-116106-152572-14.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un extrait de code informatique comprenant le code de lecture des en-t\u00eates HTTP dans une requ\u00eate servlet, contenant des commentaires et des instructions conditionnelles.\" width=\"800\" height=\"530\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-116106-152572-14.png 1270w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-116106-152572-14-664x440.png 664w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-116106-152572-14-1056x700.png 1056w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-116106-152572-14-768x509.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-152905\" class=\"wp-caption-text\">Figure 14. Segment de code de <span style=\"font-family: 'courier new', courier, monospace;\">DefaultHttpBinding.java.<\/span><\/figcaption><\/figure>\n<p>La logique de filtrage de l\u2019en-t\u00eate effectue diff\u00e9rentes correspondances en fonction de la configuration de Camel. Par d\u00e9faut, Camel n\u2019utilise <span style=\"font-family: 'courier new', courier, monospace;\">tryHeaderMatch<\/span> que pour v\u00e9rifier le d\u00e9but de l\u2019en-t\u00eate. Cela se fait par l\u2019interm\u00e9diaire de <span style=\"font-family: 'courier new', courier, monospace;\">core\/camel-support\/src\/main\/java\/org\/apache\/camel\/support\/DefaultHeaderFilterStrategy.java<\/span>, comme le montre la figure\u00a015 ci-dessous.<\/p>\n<figure id=\"attachment_152916\" aria-describedby=\"caption-attachment-152916\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152916 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-119111-152572-15.png\" alt=\"Capture d\u2019\u00e9cran du code permettant de g\u00e9rer les filtres d\u2019en-t\u00eate HTTP. tryHeaderMatch\u00a0: soulign\u00e9 en rouge et indiqu\u00e9 par une fl\u00e8che rouge.\" width=\"800\" height=\"837\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-119111-152572-15.png 1268w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-119111-152572-15-421x440.png 421w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-119111-152572-15-669x700.png 669w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-119111-152572-15-768x803.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-152916\" class=\"wp-caption-text\">Figure 15. Segment de code de <span style=\"font-family: 'courier new', courier, monospace;\">DefaultHeaderFilterStrategy.java<\/span> montrant <span style=\"font-family: 'courier new', courier, monospace;\">tryHeaderMatch.<\/span><\/figcaption><\/figure>\n<p>En supposant qu\u2019un attaquant remplace l\u2019en-t\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">CAmelExecCommandExecutable<\/span> en utilisant un A majuscule dans le mot <span style=\"font-family: 'courier new', courier, monospace;\">CAmel<\/span>, et que le d\u00e9veloppeur utilise le progiciel <span style=\"font-family: 'courier new', courier, monospace;\">camel-exec<\/span>, ce dernier lira la valeur et l\u2019ex\u00e9cutera via <span style=\"font-family: 'courier new', courier, monospace;\">components\/camel-exec\/src\/main\/java\/org\/apache\/camel\/component\/exec\/impl\/DefaultExecBinding.java<\/span>, comme l\u2019illustre la figure\u00a016 ci-dessous.<\/p>\n<figure id=\"attachment_152927\" aria-describedby=\"caption-attachment-152927\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152927 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-122250-152572-16.png\" alt=\"Capture d\u2019\u00e9cran du code du projet Apache Camel comprenant la classe DefaultExecBinding, qui inclut les mises en \u0153uvre de m\u00e9thodes et la gestion des param\u00e8tres li\u00e9s \u00e0 l\u2019ex\u00e9cution des commandes.\" width=\"800\" height=\"306\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-122250-152572-16.png 1188w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-122250-152572-16-786x300.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-122250-152572-16-768x293.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-152927\" class=\"wp-caption-text\">Figure\u00a016. Segment de code de <span style=\"font-family: 'courier new', courier, monospace;\">DefaultExecBinding.java<\/span>.<\/figcaption><\/figure>\n<p>Si un d\u00e9veloppeur a d\u00e9fini ce terminal pour ex\u00e9cuter un fichier ex\u00e9cutable b\u00e9nin, l\u2019attaquant peut remplacer le terminal par une commande dangereuse, en utilisant un shell invers\u00e9 (reverse shell). L\u2019attaquant peut potentiellement obtenir un shell invers\u00e9 par l\u2019ex\u00e9cution de commandes \u00e0 distance.<\/p>\n<h2><a id=\"post-152572-_heading=h.5xcxr66jmrkr\"><\/a>T\u00e9l\u00e9m\u00e9trie<\/h2>\n<p>Au cours du mois de mars 2025, notre t\u00e9l\u00e9m\u00e9trie a identifi\u00e9 125\u00a0856\u00a0scans, sondes ou tentatives d\u2019exploitation provenant de plus de 70\u00a0pays pour la vuln\u00e9rabilit\u00e9 Tomcat CVE-2025-24813 et les vuln\u00e9rabilit\u00e9s Camel CVE-2025-27636 et CVE-2025-29891. Comme le montre notre analyse des donn\u00e9es dans la figure\u00a017, la fr\u00e9quence de cette activit\u00e9 a augment\u00e9 imm\u00e9diatement apr\u00e8s l\u2019annonce de ces exploits \u00e0 la mi-mars 2025, atteignant son maximum au cours de la premi\u00e8re semaine.<\/p>\n<p>Les donn\u00e9es indiquent en outre la pr\u00e9sence de scanners automatis\u00e9s et d\u2019exploits actifs dans la nature.<\/p>\n<figure id=\"attachment_152938\" aria-describedby=\"caption-attachment-152938\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152938 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/chart-8.png\" alt=\"Graphique lin\u00e9aire repr\u00e9sentant le nombre de d\u00e9clencheurs au fil du temps. Le graphique montre des dates sur l\u2019axe des abscisses, du 2025-03-16 au 2025-03-30, avec des nombres de d\u00e9clencheurs augmentant initialement, atteignant un pic en milieu de p\u00e9riode, puis diminuant jusqu\u2019\u00e0 la date de fin. Blocage des logos de Unit\u00a042 et de Palo\u00a0Alto\u00a0Networks.\" width=\"1000\" height=\"390\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/chart-8.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/chart-8-786x307.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/chart-8-1794x700.png 1794w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/chart-8-768x300.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/chart-8-1536x599.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-152938\" class=\"wp-caption-text\">Figure 17. D\u00e9tection d\u2019une activit\u00e9 d\u2019exploit en mars 2025.<\/figcaption><\/figure>\n<h3><a id=\"post-152572-_heading=h.5s3zyfh1ymfz\"><\/a>Payloads des tentatives d\u2019exploitation<\/h3>\n<p>Nous avons captur\u00e9 les payloads que les attaquants ont utilis\u00e9 jusqu\u2019\u00e0 pr\u00e9sent lors de ces analyses, sondes et tentatives d\u2019exploitation.<\/p>\n<p>La figure\u00a018 montre un exemple de requ\u00eate HTTP PUT initiale pour une tentative d\u2019exploitation de la vuln\u00e9rabilit\u00e9 CVE-2025-24813 d\u2019Apache\u00a0Tomcat. Ce type d\u2019activit\u00e9 est un scan ou une sonde visant \u00e0 d\u00e9terminer si un serveur utilise une version vuln\u00e9rable de Tomcat.<\/p>\n<figure id=\"attachment_152949\" aria-describedby=\"caption-attachment-152949\" style=\"width: 700px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152949 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-130068-152572-18.png\" alt=\"Capture d\u2019\u00e9cran d\u2019une requ\u00eate HTTP PUT montrant les en-t\u00eates et une partie du code Java relatif aux classes HashMap et URL. Certaines informations sont masqu\u00e9es pour des raisons de confidentialit\u00e9.\" width=\"700\" height=\"241\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-130068-152572-18.png 1322w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-130068-152572-18-786x271.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-130068-152572-18-768x265.png 768w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption id=\"caption-attachment-152949\" class=\"wp-caption-text\">Figure 18. Requ\u00eate HTTP PUT pour l\u2019exploit de CVE-2025-24813.<\/figcaption><\/figure>\n<p><a id=\"post-152572-_heading=h.vmg95si8i2ld\"><\/a> S\u2019il r\u00e9ussit, l\u2019exploit de la figure 20 fait que le serveur victime tente de contacter un serveur de test de s\u00e9curit\u00e9 des applications hors bande (OAST).<\/p>\n<p>La figure\u00a019 montre la requ\u00eate HTTP pour un exploit de la vuln\u00e9rabilit\u00e9 CVE-2025-27636 d\u2019Apache Camel. En cas de succ\u00e8s, le serveur ex\u00e9cute une commande echo. Il s\u2019agit d\u2019un moyen de tester un serveur utilisant Apache Camel si un attaquant y a d\u00e9j\u00e0 acc\u00e8s et peut voir les r\u00e9sultats d\u2019une commande echo.<\/p>\n<figure id=\"attachment_152960\" aria-describedby=\"caption-attachment-152960\" style=\"width: 500px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152960 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-133521-152572-19.png\" alt=\"Capture d\u2019\u00e9cran d\u2019une requ\u00eate HTTP GET avec des en-t\u00eates visibles comprenant Host et User-Agent d\u00e9finis sur curl\/7.61.1, et Accept \u00e9tant de type quelconque, suivi d\u2019une tentative d\u2019ex\u00e9cution de commande. Certaines informations ont \u00e9t\u00e9 masqu\u00e9es. \" width=\"500\" height=\"113\" \/><figcaption id=\"caption-attachment-152960\" class=\"wp-caption-text\">Figure 19. Requ\u00eate HTTP provenant de l\u2019exploit Apache Camel pour CVE-2025-27636.<\/figcaption><\/figure>\n<p><a id=\"post-152572-_heading=h.vwekfph82l94\"><\/a> La figure 20 montre la requ\u00eate HTTP pour un exploit de la vuln\u00e9rabilit\u00e9 CVE-2025-29891 d\u2019Apache Camel. Comme la tentative d\u2019exploitation d\u2019Apache Tomcat pr\u00e9sent\u00e9e \u00e0 la figure\u00a020, cette exploitation d\u2019Apache Camel demanderait au serveur vuln\u00e9rable de contacter un serveur OAST.<\/p>\n<figure id=\"attachment_152971\" aria-describedby=\"caption-attachment-152971\" style=\"width: 700px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152971 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-136051-152572-20.png\" alt=\"Capture d\u2019\u00e9cran montrant un exemple de requ\u00eate GET et POST avec l\u2019URL partiellement visible comme &quot;http:\/\/&quot;. Certaines informations ont \u00e9t\u00e9 modifi\u00e9es. \" width=\"700\" height=\"74\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-136051-152572-20.png 1644w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-136051-152572-20-786x83.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-136051-152572-20-768x81.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-136051-152572-20-1536x163.png 1536w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><figcaption id=\"caption-attachment-152971\" class=\"wp-caption-text\">Figure 20. Requ\u00eate HTTP provenant de l\u2019exploit Apache Camel pour CVE-2025-29891.<\/figcaption><\/figure>\n<h3><a id=\"post-152572-_heading=h.aaso60h66b6k\"><\/a>Exploitation de la CVE-2025-24813 dans la nature<\/h3>\n<p>Depuis que nous avons mis \u00e0 jour notre couverture pour cette vuln\u00e9rabilit\u00e9, nous avons observ\u00e9 7\u00a0859\u00a0tentatives d\u2019exploitation de la vuln\u00e9rabilit\u00e9 CVE-2025-24813 d\u2019Apache\u00a0Tomcat.<\/p>\n<p>Dans cette section, nous analysons cette activit\u00e9 sous deux angles\u00a0: la longueur du nom de la session et la valeur de l\u2019en-t\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range.<\/span><\/p>\n<h4><a id=\"post-152572-_heading=h.2s90zz7s2il6\"><\/a>Longueur du nom de la session Tomcat<\/h4>\n<p>Comme nous l\u2019avons indiqu\u00e9 dans notre analyse pr\u00e9c\u00e9dente, les exploits pour la CVE-2025-24813 utilisent un nom compl\u00e9t\u00e9 par<span style=\"font-family: 'courier new', courier, monospace;\"> .session<\/span> dans la requ\u00eate HTTP initiale. Ce fichier <span style=\"font-family: 'courier new', courier, monospace;\">.session<\/span> contient le code que l\u2019h\u00f4te vuln\u00e9rable ex\u00e9cutera si l\u2019exploit r\u00e9ussit.<\/p>\n<p>La plupart des pr\u00e9fixes de ces noms de session utilisent moins de 10\u00a0caract\u00e8res. Notre t\u00e9l\u00e9m\u00e9trie r\u00e9v\u00e8le que les pr\u00e9fixes les plus courants utilisent six caract\u00e8res comme nom de session, comme l\u2019illustre la figure\u00a021.<\/p>\n<figure id=\"attachment_152982\" aria-describedby=\"caption-attachment-152982\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152982 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-138835-152572-21.png\" alt=\"Diagramme \u00e0 barres affichant le nombre de caract\u00e8res dans les noms de session. L\u2019axe des abscisses repr\u00e9sente le nombre de noms de session et l\u2019axe des ordonn\u00e9es \u00e9num\u00e8re les plages de nombre de caract\u00e8res allant de moins de 4 \u00e0 10 ou plus. Blocage des logos de Unit\u00a042 et de Palo\u00a0Alto\u00a0Networks.\" width=\"1000\" height=\"542\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-138835-152572-21.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-138835-152572-21-786x426.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-138835-152572-21-1290x700.png 1290w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-138835-152572-21-768x417.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-138835-152572-21-1536x833.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-152982\" class=\"wp-caption-text\">Figure 21 Tendances sur la longueur du nom de la session dans les tentatives d\u2019exploit de CVE-2025-24813.<\/figcaption><\/figure>\n<p>Nous avons relev\u00e9 cette longueur de motif de six\u00a0caract\u00e8res dans plus de 6\u00a0000\u00a0d\u00e9tections. Pourquoi la grande majorit\u00e9 de ces exploits utilisent-ils un nom de session compos\u00e9 d\u2019une cha\u00eene de six caract\u00e8res\u00a0? Ce mod\u00e8le d\u2019activit\u00e9 est en corr\u00e9lation avec l\u2019en-t\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range<\/span>.<\/p>\n<h4><a id=\"post-152572-_heading=h.3fv90eaidtu3\"><\/a>En-t\u00eate Content-Range de Tomcat<\/h4>\n<p>Comme nous l\u2019avons indiqu\u00e9 dans notre analyse du code source de Tomcat pour CVE-2025-24813, l\u2019en-t\u00eate HTTP <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range<\/span> est un facteur important dans cette vuln\u00e9rabilit\u00e9. La figure 22 regroupe les diff\u00e9rentes valeurs de <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range<\/span>.<\/p>\n<figure id=\"attachment_152993\" aria-describedby=\"caption-attachment-152993\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-152993 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-142113-152572-22.png\" alt=\"Diagramme \u00e0 barres horizontales montrant les nombres de diff\u00e9rentes plages d\u2019octets, avec un nombre variable pour chaque cat\u00e9gorie. Blocage des logos de Unit\u00a042 et de Palo\u00a0Alto\u00a0Networks.\" width=\"1000\" height=\"619\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-142113-152572-22.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-142113-152572-22-711x440.png 711w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-142113-152572-22-1131x700.png 1131w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-142113-152572-22-768x476.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-142113-152572-22-1536x951.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-152993\" class=\"wp-caption-text\">Figure 22. Tendances sur les valeurs de Content-Range observ\u00e9es dans les tentatives d\u2019exploit de CVE-2025-24813.<\/figcaption><\/figure>\n<p>Notre t\u00e9l\u00e9m\u00e9trie r\u00e9v\u00e8le que nous avons not\u00e9 l\u2019en-t\u00eate <span style=\"font-family: 'courier new', courier, monospace;\">Content-Range\u00a0: bytes 0-452\/457<\/span> dans plus de 6\u00a0000\u00a0d\u00e9tections. Cette constatation est en corr\u00e9lation avec le nom de session \u00e0 six\u00a0caract\u00e8res.<\/p>\n<p>Ces deux constatations correspondent \u00e0 un template pour la<a href=\"https:\/\/github.com\/projectdiscovery\/nuclei-templates\/blob\/99289657b8d7c150b1c716d43fc0458daff2bbbb\/http\/cves\/2025\/CVE-2025-24813.yaml#L54\" target=\"_blank\" rel=\"noopener\"> CVE-2025-24813<\/a> de <a href=\"https:\/\/github.com\/projectdiscovery\/nuclei\" target=\"_blank\" rel=\"noopener\">Nuclei Scanner<\/a> disponible sur GitHub. La figure\u00a023 met en \u00e9vidence la corr\u00e9lation avec nos r\u00e9sultats.<\/p>\n<figure id=\"attachment_153004\" aria-describedby=\"caption-attachment-153004\" style=\"width: 746px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-153004 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-146309-152572-23.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un \u00e9diteur de texte affichant du code avec des lignes mises en surbrillance relatives \u00e0 une session HTTP et \u00e0 des variables Python. Trois sections sont mises en \u00e9vidence par des encadr\u00e9s rouges. Il s\u2019agit du nom de fichier, de PUT et de Content-range. \" width=\"746\" height=\"464\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-146309-152572-23.png 746w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/word-image-146309-152572-23-707x440.png 707w\" sizes=\"(max-width: 746px) 100vw, 746px\" \/><figcaption id=\"caption-attachment-153004\" class=\"wp-caption-text\">Figure\u00a023. Segment du mod\u00e8le CVE-2025-24813 dans le r\u00e9f\u00e9rentiel GitHub <a href=\"https:\/\/github.com\/projectdiscovery\/nuclei-templates\/blob\/99289657b8d7c150b1c716d43fc0458daff2bbbb\/http\/cves\/2025\/CVE-2025-24813.yaml#L54\" target=\"_blank\" rel=\"noopener\">nuclei-templates<\/a>.<\/figcaption><\/figure>\n<p>Cela signifie qu\u2019un grand nombre des scans CVE-2025-24813 que nous avons vues jusqu\u2019\u00e0 pr\u00e9sent ont utilis\u00e9 le scanner Nuclei. C\u2019est logique, puisque Nuclei est un scanner disponible gratuitement sous la licence MIT et que tout le monde peut l\u2019utiliser. Les attaquants et les \u00e9quipes de s\u00e9curit\u00e9 utilisent probablement ce scanner et ce mod\u00e8le pour v\u00e9rifier la vuln\u00e9rabilit\u00e9.<\/p>\n<h2><a id=\"post-152572-_heading=h.p21vvrh7e9ba\"><\/a>Conclusion<\/h2>\n<p>Les instances Apache Tomcat vuln\u00e9rables qui autorisent l\u2019\u00e9criture de r\u00e9pertoire (d\u00e9sactiv\u00e9e par d\u00e9faut) et le PUT partiel (activ\u00e9 par d\u00e9faut) sont vuln\u00e9rables \u00e0 la CVE-2025-24813. Les instances Apache Camel vuln\u00e9rables qui utilisent des composants sp\u00e9cifiques sont vuln\u00e9rables aux CVE-2025-27636 et CVE-2025-29891.<\/p>\n<p>Ces vuln\u00e9rabilit\u00e9s pr\u00e9sentent un risque important pour la s\u00e9curit\u00e9 en raison de leurs failles critiques. Les attaquants peuvent les exploiter par le biais de requ\u00eates HTTP sp\u00e9cifiquement \u00e9labor\u00e9es.<\/p>\n<p>Ces exploits permettent non seulement l\u2019ex\u00e9cution potentielle de codes \u00e0 distance, mais ils posent \u00e9galement des menaces plus larges telles que les violations de donn\u00e9es et les mouvements lat\u00e9raux au sein du r\u00e9seau. L\u2019utilisation de Nuclei Scanner pour v\u00e9rifier cette vuln\u00e9rabilit\u00e9 souligne la facilit\u00e9 avec laquelle des adversaires moins qualifi\u00e9s peuvent exploiter ces vuln\u00e9rabilit\u00e9s, d\u2019o\u00f9 l\u2019importance d\u2019une action imm\u00e9diate.<\/p>\n<h3><a id=\"post-152572-_heading=h.b6o74ccaloub\"><\/a>Protection et att\u00e9nuation des risques par Palo\u00a0Alto\u00a0Networks<\/h3>\n<p>Les clients de Palo\u00a0Alto\u00a0Networks sont mieux prot\u00e9g\u00e9s contre les menaces mentionn\u00e9es ci-dessus gr\u00e2ce aux produits suivants\u00a0:<\/p>\n<ul>\n<li>Le <a href=\"https:\/\/docs.paloaltonetworks.com\/ngfw\" target=\"_blank\" rel=\"noopener\">pare-feu nouvelle g\u00e9n\u00e9ration<\/a> int\u00e9grant <a href=\"https:\/\/docs.paloaltonetworks.com\/advanced-threat-prevention\/administration\" target=\"_blank\" rel=\"noopener\">Advanced Threat Prevention<\/a> peut identifier et bloquer le trafic associ\u00e9, en respectant les meilleures pratiques, gr\u00e2ce \u00e0 la signature de pr\u00e9vention des menaces suivante\u00a0: 96315<\/li>\n<li><a href=\"https:\/\/www.paloaltonetworks.com\/cortex\/cortex-xpanse\" target=\"_blank\" rel=\"noopener\">Cortex Xpanse<\/a> et le module compl\u00e9mentaire ASM pour <a href=\"https:\/\/www.paloaltonetworks.com\/cortex\/cortex-xsiam\" target=\"_blank\" rel=\"noopener\">Cortex XSIAM<\/a> peuvent identifier les serveurs Apache Tomcat orient\u00e9s vers l\u2019ext\u00e9rieur \u00e0 l\u2019aide de la r\u00e8gle de surface d\u2019attaque \"Tomcat Web Server\". Les clients peuvent \u00e9galement consulter leurs actifs potentiellement touch\u00e9s par le biais du Centre de r\u00e9ponse aux menaces.<\/li>\n<\/ul>\n<p>Si vous pensez que votre entreprise a pu \u00eatre compromise ou si vous faites face \u00e0 une urgence, contactez l\u2019<a href=\"https:\/\/start.paloaltonetworks.com\/contact-unit42.html\" target=\"_blank\" rel=\"noopener\">\u00e9quipe Unit\u00a042 de r\u00e9ponse aux incidents<\/a> ou composez l\u2019un des num\u00e9ros suivants\u00a0:<\/p>\n<ul>\n<li>Am\u00e9rique du Nord Gratuit\u00a0: +1 (866) 486-4842 (866.4.UNIT42)<\/li>\n<li>Royaume-Uni\u00a0: +44\u00a020\u00a03743\u00a03660<\/li>\n<li>Europe et Moyen-Orient\u00a0: +31.20.299.3130<\/li>\n<li>Asie\u00a0: +65.6983.8730<\/li>\n<li>Japon\u00a0: +81\u00a050\u00a01790\u00a00200<\/li>\n<li>Australie\u00a0: +61.2.4062.7950<\/li>\n<li>Inde\u00a0: 00080005045107<\/li>\n<\/ul>\n<p>Palo\u00a0Alto\u00a0Networks a partag\u00e9 ces conclusions avec les autres membres de la Cyber\u00a0Threat\u00a0Alliance (CTA). Les membres de la CTA s\u2019appuient sur ces renseignements pour d\u00e9ployer rapidement des mesures de protection aupr\u00e8s de leurs clients et perturber de mani\u00e8re coordonn\u00e9e les activit\u00e9s des cybercriminels. Cliquez ici pour en savoir plus sur la <a href=\"https:\/\/www.cyberthreatalliance.org\" target=\"_blank\" rel=\"noopener\">Cyber Threat Alliance<\/a>.<\/p>\n<h2><a id=\"post-152572-_heading=h.thmflk8o8u48\"><\/a>Indicateurs de compromission<\/h2>\n<h3><a id=\"post-152572-_heading=h.702wh9jyzjco\"><\/a>CVE-2025-24813<\/h3>\n<h4><a id=\"post-152572-_heading=h.99gapg7d89o1\"><\/a>Adresses IP sources observ\u00e9es pour CVE-2025-24813<\/h4>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">54.193.62[.]84<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">96.113.95[.]10<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">209.189.232[.]134<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">162.241.149[.]101<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">167.172.67[.]75<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">100.65.135[.]245<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">138.197.82[.]147<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">123.16.159[.]102<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">193.53.40[.]18<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">91.208.206[.]203<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">212.56.34[.]85<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">195.164.49[.]70<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">185.91.127[.]9<\/span><\/li>\n<\/ul>\n<h4><a id=\"post-152572-_heading=h.mj10i3wps6h4\"><\/a>URL d\u2019activit\u00e9 - CVE-2025-24813<\/h4>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">PUT \/qdigu\/session<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">PUT \/UlOLJo.session<\/span><\/li>\n<\/ul>\n<h4><a id=\"post-152572-_heading=h.1k2wl3ql4sl9\"><\/a>Hachage SHA256 des \u00e9chantillons de payload<\/h4>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">6a9a0a3f0763a359737da801a48c7a0a7a75d6fa810418216628891893773540<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">6b7912e550c66688c65f8cf8651b638defc4dbeabae5f0f6a23fb20d98333f6b<\/span><\/li>\n<\/ul>\n<h3><a id=\"post-152572-_heading=h.ymwvnj1chhvp\"><\/a>CVE-2025-27636, CVE-2025-29891<\/h3>\n<h4><a id=\"post-152572-_heading=h.oy3w1lbo7uc0\"><\/a>Adresses IP sources observ\u00e9es pour CVE-2025-27636, CVE-2025-29891<\/h4>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">30.153.178[.]49<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">54.147.173[.]17<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">54.120.8[.]214<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">139.87.112[.]169<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">139.87.112[.]115<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">64.39.98[.]52<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">139.87.112[.]98<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">139.87.113[.]24<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">64.39.98[.]139<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">54.96.66[.]57<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">138.197.82[.]147<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">22.85.196[.]34<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">64.39.98[.]245<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">64.39.98[.]9<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">54.120.8[.]207<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">130.212.99[.]156<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">139.87.112[.]121<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">139.87.113[.]26<\/span><\/li>\n<\/ul>\n<h4><a id=\"post-152572-_heading=h.fba3eb29osnw\"><\/a>En-t\u00eates d\u2019activit\u00e9 pour CVE-2025-27636, CVE-2025-29891<\/h4>\n<ul>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">CAmelHttpResponseCode<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">CAmelExecCommandExecutable<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">CAmelExecCommandArgs<\/span><\/li>\n<li><span style=\"font-family: 'courier new', courier, monospace;\">CAmelBeanMethodName<\/span><\/li>\n<\/ul>\n<h2><a id=\"post-152572-_heading=h.lqzhl79z445b\"><\/a>Pour aller plus loin<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9110.html#name-partial-put\" target=\"_blank\" rel=\"noopener\">RFC9110<\/a> - \u00c9diteur RFC<\/li>\n<li><a href=\"https:\/\/github.com\/apache\/tomcat\" target=\"_blank\" rel=\"noopener\">Apache Tomcat<\/a> - Fondation Apache<\/li>\n<li><a href=\"https:\/\/github.com\/apache\/camel\" target=\"_blank\" rel=\"noopener\">Apache Camel<\/a> - Fondation Apache<\/li>\n<li><a href=\"https:\/\/github.com\/projectdiscovery\/nuclei-templates\/\" target=\"_blank\" rel=\"noopener\">Mod\u00e8les de Nuclei<\/a> - ProjectDiscovery<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Nous analysons CVE-2025-24813 (RCE PUT partiel de Tomcat), CVE-2025-27636 et CVE-2025-29891 (RCE d\u00e9tournement de l\u2019en-t\u00eate Camel).<\/p>\n","protected":false},"author":340,"featured_media":152575,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[8832,8850],"tags":[9475,9477,9478,9479,9476],"product_categories":[8956,8965,8973,8955,9041,9053,9064,9083,9151],"coauthors":[9250,9251,3736,2070],"class_list":["post-152572","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-threat-research-fr","category-vulnerabilities-fr","tag-apache-fr","tag-cve-2025-24813-fr","tag-cve-2025-27636-fr","tag-cve-2025-29891-fr","tag-remote-code-execution-fr","product_categories-advanced-dns-security-fr","product_categories-advanced-threat-prevention-fr","product_categories-advanced-url-filtering-fr","product_categories-cloud-delivered-security-services-fr","product_categories-cortex-fr","product_categories-cortex-xdr-fr","product_categories-cortex-xsiam-fr","product_categories-next-generation-firewall-fr","product_categories-unit-42-incident-response-fr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Apache \u00e0 la loupe\u00a0: PUT partiel de Tomcat et d\u00e9tournement de l\u2019en-t\u00eate Camel<\/title>\n<meta name=\"description\" content=\"Nous analysons CVE-2025-24813 (RCE PUT partiel de Tomcat), CVE-2025-27636 et CVE-2025-29891 (RCE d\u00e9tournement de l\u2019en-t\u00eate Camel).\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apache \u00e0 la loupe\u00a0: PUT partiel de Tomcat et d\u00e9tournement de l\u2019en-t\u00eate Camel\" \/>\n<meta property=\"og:description\" content=\"Nous analysons CVE-2025-24813 (RCE PUT partiel de Tomcat), CVE-2025-27636 et CVE-2025-29891 (RCE d\u00e9tournement de l\u2019en-t\u00eate Camel).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/\" \/>\n<meta property=\"og:site_name\" content=\"Unit 42\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-03T18:02:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-21T16:13:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/06_Vulnerabilities_1920x900.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jun Li, Qiang Liu, Yiheng An, Haozhe Zhang\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Apache \u00e0 la loupe\u00a0: PUT partiel de Tomcat et d\u00e9tournement de l\u2019en-t\u00eate Camel","description":"Nous analysons CVE-2025-24813 (RCE PUT partiel de Tomcat), CVE-2025-27636 et CVE-2025-29891 (RCE d\u00e9tournement de l\u2019en-t\u00eate Camel).","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/","og_locale":"fr_FR","og_type":"article","og_title":"Apache \u00e0 la loupe\u00a0: PUT partiel de Tomcat et d\u00e9tournement de l\u2019en-t\u00eate Camel","og_description":"Nous analysons CVE-2025-24813 (RCE PUT partiel de Tomcat), CVE-2025-27636 et CVE-2025-29891 (RCE d\u00e9tournement de l\u2019en-t\u00eate Camel).","og_url":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/","og_site_name":"Unit 42","article_published_time":"2025-07-03T18:02:22+00:00","article_modified_time":"2025-08-21T16:13:52+00:00","og_image":[{"width":1920,"height":900,"url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/06_Vulnerabilities_1920x900.jpg","type":"image\/jpeg"}],"author":"Jun Li, Qiang Liu, Yiheng An, Haozhe Zhang","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/#article","isPartOf":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/"},"author":{"name":"Haozhe Zhang","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/a55d18d178eaf2a45f790ec5af0356c0"},"headline":"Apache \u00e0 la loupe\u00a0: PUT partiel de Tomcat et d\u00e9tournement de l\u2019en-t\u00eate Camel","datePublished":"2025-07-03T18:02:22+00:00","dateModified":"2025-08-21T16:13:52+00:00","mainEntityOfPage":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/"},"wordCount":4265,"image":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/#primaryimage"},"thumbnailUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/06_Vulnerabilities_1920x900.jpg","keywords":["Apache","CVE-2025-24813","CVE-2025-27636","CVE-2025-29891","Remote Code Execution"],"articleSection":["Recherche sur les menaces","Vuln\u00e9rabilit\u00e9s"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/","url":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/","name":"Apache \u00e0 la loupe\u00a0: PUT partiel de Tomcat et d\u00e9tournement de l\u2019en-t\u00eate Camel","isPartOf":{"@id":"https:\/\/unit42.paloaltonetworks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/#primaryimage"},"image":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/#primaryimage"},"thumbnailUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/06_Vulnerabilities_1920x900.jpg","datePublished":"2025-07-03T18:02:22+00:00","dateModified":"2025-08-21T16:13:52+00:00","author":{"@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/a55d18d178eaf2a45f790ec5af0356c0"},"description":"Nous analysons CVE-2025-24813 (RCE PUT partiel de Tomcat), CVE-2025-27636 et CVE-2025-29891 (RCE d\u00e9tournement de l\u2019en-t\u00eate Camel).","breadcrumb":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/#primaryimage","url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/06_Vulnerabilities_1920x900.jpg","contentUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/06_Vulnerabilities_1920x900.jpg","width":1920,"height":900,"caption":"Pictorial representation of CVE-2024-36401. Digital illustration of a map of North America with interconnected glowing lines and dots symbolizing network connections across the continent."},{"@type":"BreadcrumbList","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/apache-cve-2025-24813-cve-2025-27636-cve-2025-29891\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/unit42.paloaltonetworks.com\/"},{"@type":"ListItem","position":2,"name":"Apache \u00e0 la loupe\u00a0: PUT partiel de Tomcat et d\u00e9tournement de l\u2019en-t\u00eate Camel"}]},{"@type":"WebSite","@id":"https:\/\/unit42.paloaltonetworks.com\/#website","url":"https:\/\/unit42.paloaltonetworks.com\/","name":"Unit 42","description":"Palo Alto Networks","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/unit42.paloaltonetworks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/a55d18d178eaf2a45f790ec5af0356c0","name":"Haozhe Zhang","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/image\/4ffb3c2d260a0150fb91b3715442f8b3","url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2018\/11\/unit-news-meta.svg","contentUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2018\/11\/unit-news-meta.svg","caption":"Haozhe Zhang"},"jobTitle":"Principle Security Researcher","url":"https:\/\/unit42.paloaltonetworks.com\/fr\/author\/haozhe-zhang\/"}]}},"_links":{"self":[{"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/152572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/users\/340"}],"replies":[{"embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/comments?post=152572"}],"version-history":[{"count":2,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/152572\/revisions"}],"predecessor-version":[{"id":153052,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/152572\/revisions\/153052"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/media\/152575"}],"wp:attachment":[{"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/media?parent=152572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/categories?post=152572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/tags?post=152572"},{"taxonomy":"product_categories","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/product_categories?post=152572"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/coauthors?post=152572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}