Date de divulgation : 26 novembre 2024
Date de déclaration d'exploitation active (source) : 26 novembre 2024
CVE-2024-11680 est une vulnérabilité d'authentification incorrecte permettant à des attaquants non authentifiés distants d'exploiter les instances de ProjectSend (versions antérieures à r1720) en envoyant des requêtes HTTP élaborées à l'adresse suivante options.phppermettant la modification non autorisée de la configuration de l'application. Une exploitation réussie permet aux attaquants de créer des comptes, de télécharger des shells web, et d'intégrer du JavaScript malveillant.
Vulncheck a partagé un blog avec plusieurs informations clés : les instances ProjectSend publiques sont activement exploitées, 99% des instances ProjectSend restent vulnérables, et les exploits publics ont précédé de plusieurs mois l'attribution des CVE. Cela souligne l'importance de mettre à jour rapidement les versions affectées de ProjectSend.
Les exploits publics sont disponibles sous la forme d'un modèle Nuclei et d'un modèle et d'un module MetaSploit module. Vulncheck a indiqué que les hôtes victimes peuvent afficher des titres html avec des chaînes de caractères aléatoires, conformément à la manière dont Nuclei et Metasploit mettent en œuvre leur logique de test. Selon Vulncheck, les hôtes compromis avec ces titres modifiés ont commencé à apparaître en septembre lorsque ces exploits ont été rendus publics.
Vulncheck additionally noted that anomalous network requests to ProjectSend applications appear to be more than just “researchers intrusively checking for vulnerable versions”, and there’s been evidence of post-exploitation activity. Attackers uploading webshells to victim hosts can be found in upload/files/ off the web root and are assigned a predictable name following this pattern: {posix timestamp of upload}-{sha1 username}-{original file name}.{original extension}.
Champ d'application |
Détails |
CVE-ID |
CVE-2024-11680 - CVSS 9.8 (critique) - attribué par NVD |
Description de la vulnérabilité |
Les versions de ProjectSend antérieures à r1720 sont affectées par une vulnérabilité d'authentification incorrecte. Des attaquants distants non authentifiés peuvent exploiter cette faille en envoyant des requêtes HTTP élaborées à options.php, ce qui permet une modification non autorisée de la configuration de l'application. Une exploitation réussie permet aux attaquants de créer des comptes, de télécharger des webshells, et d'intégrer du JavaScript malveillant. |
Date de la divulgation |
26 novembre 2024 |
Actifs touchés |
Options.php dans ProjectSend (avant r1720) |
Versions de logiciels vulnérables |
ProjectSend avant la version r1720. |
PoC disponible ? |
Oui, il y a de nombreux exploits publics disponibles, y compris (mais sans s'y limiter) : Projet Discovery Nuclei modèleRapid7 Metasploit Rapid7 Metasploitet cet avis de Synactiv fournit des informations détaillées sur l'exploit. |
Statut d'exploitation |
Une exploitation active a été signalée par Vulncheck et cette CVE a été ajoutée à CISA KEV le 3 décembre 2024. |
Statut du patch |
Cette vulnérabilité a été corrigée via ce commit en mai 2023. |
Censys Perspective
Au moment de la rédaction du présent document, Censys a observé 4,026 instances de ProjectSend exposées en ligne. Une grande partie d'entre elles (40%) sont géolocalisées aux États-Unis. Censys a observé environ 9% des instances exposées étaient associées à CloudFlare (ASN 13335). Il convient de noter que toutes ces instances ne sont pas nécessairement vulnérables, car les versions spécifiques ne sont pas disponibles.
Sur les instances exposées de ProjectSend, nous avons observé un modèle récurrent dans le HTML qui inclut occasionnellement la version release :
Provided by <a href="https://www.projectsend.org/" target="_blank">ProjectSend</a> version r1420 - Free software
Parmi les instances exposées dans nos données, nous avons pu identifier les versions exposées suivantes :
Numéro de publication |
Nombre d'hôtes |
r1295 |
260 |
r1335 |
117 |
r1420 |
113 |
r1330 |
7 |
r1270 |
4 |
r1415 |
3 |
Parmi les instances exposées de notre ensemble de données, nous avons identifié plusieurs instances affichant des versions spécifiques. Bien que de nombreuses instances ne présentent pas de version visible, cette absence ne garantit pas qu'elles ne sont pas vulnérables. Toutes les versions identifiées dans le tableau ci-dessus restent vulnérables à l'exploit.
En plus des versions identifiées, nous avons observé un nombre important d'instances qui semblent avoir déjà été compromises. Les exemples suivants représentent les cinq modèles les plus courants observés parmi ces hôtes par fréquence, bien que d'autres hôtes compromis aient également été identifiés :
Titre HTML |
Nombre d'hôtes |
Se connecter " 2nVsqpahM2JlULBOKl4HZg2JMXb |
260 |
Se connecter " 2pVU3Qznb2ce732PenWkYG6cT8A |
127 |
Se connecter " 2pTBUSMbXEO0MlGMlZ4D5AydOUW |
63 |
Se connecter " 2pQhx2E3Rw5BRWrDQUtcyw8Pdel |
23 |
Se connecter " 2pTxgyFQ4XKnq8ZAfNsAZzQe6qp |
20 |
Les motifs d'obscurcissement observés dans ces hôtes compromis correspondent étroitement à ceux générés par le modèle nuclei. Chacun de ces motifs comporte exactement 27 caractères. Ce comportement est cohérent avec le modèle randstr utilisée dans le modèle Nuclei Nucleiqui utilise la bibliothèque KSUID pour générer une chaîne aléatoire, toujours d'une longueur de 27 caractères.
if strings.EqualFold(value, "randstr") || strings.HasPrefix(value, "randstr_") {
randStr := ksuid.New().String()
data = bytes.ReplaceAll(data, []byte(expression[0]), []byte(randStr))
dataMap[expression[0]] = randStr
}
Carte des instances exposées de ProjectSend :
Censys Requête de recherche :
services: (http.response.html_title: "Log In » " and banner: "Set-Cookie: PHPSESSID" and http.response.body: "ckeditor.js" and http.response.body: "jquery-migrate.min.js")
Censys Requête ASM :
host.services.http.response.html_title: "Log In » " and host.services.banner: "Set-Cookie: PHPSESSID" and host.services.http.response.body: "ckeditor.js" and host.services.http.response.body: "jquery-migrate.min.js"
Références