Skip to content
Nouveau rapport : Obtenez votre exemplaire du rapport 2024 sur l'état de l'internet ! | Télécharger aujourd'hui
Avis

Avis du 3 décembre : Vulnérabilité RCE activement exploitée dans ProjectSend [CVE-2024-11680].

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 &raquo; " 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 &raquo; " 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

Solutions de gestion de la surface d'attaque
En savoir plus