CVE-2026-84170 in Wicketinformation

Résumé

par VulDB • 02/11/2026

Allocation de ressources sans limites ni throttling dans Apache Wicket.

org.apache.wicket.markup.html.form.upload.resource.AbstractFileUploadResource est le côté serveur du téléchargement sans formulaire offert par FileUploadToResourceField, qui envoie les fichiers sélectionnés vers une ressource montée séparément plutôt que via un Form (formulaire). La ressource est un singleton à l'échelle de l'application et ne dispose d'aucun composant à consulter ; ainsi, newResourceResponse() récupère les trois limites encadrant le téléchargement - la taille totale de la requête, la taille maximale d'une partie unique et le nombre maximal de parties - depuis les paramètres de requête maxSize, fileMaxSize et fileCountMax, et les transmet au parseur multipartite à mesure qu'ils arrivent. Rien ne lie ces nombres au champ censé effectuer le téléchargement. Une requête indiquant une valeur très élevée pour maxSize est donc analysée sans plafond effectif sur la taille totale, et l'omission de fileMaxSize et fileCountMax laisse également les limites par partie et par nombre de parties non définies. Les valeurs configurées par l'application via FileUploadToResourceField#setMaxSize(), #setFileMaxSize() et #setFileCountMax() ne sont consultées que lorsque le client omet le paramètre correspondant ; ainsi, face à un client qui fournit ces paramètres, elles n'ont aucun effet du tout.

Les parties dépassant le seuil en mémoire vive (heap) du parseur sont spoolisées vers le répertoire temporaire du conteneur, puis les fichiers partiels sont copiés dans le dossier détenu par l'IUploadsFileManager de l'application, sous un sous-dossier nommé par la requête, où ils restent. Une partie qui n'est pas un fichier est lue entièrement en heap pendant l'analyse de la requête. Une seule requête, répétable à souhait, peut donc consommer autant d'espace disque ou de mémoire heap que le client choisit d'envoyer. La ressource ne porte aucune annotation d'autorisation et la stratégie d'autorisation par défaut autorise toutes les demandes de ressources ; ainsi, sauf si l'application authentifie elle-même cette ressource, la requête n'a besoin ni d'authentification, ni de session, ni de consultation préalable de page, ni d'intervention utilisateur.

Une application est affectée lorsqu'elle utilise FileUploadToResourceField ou monte elle-même FileUploadResourceReference. Il ne s'agit pas du chemin de téléchargement ordinaire : la ressource étant un singleton qui doit être créée et montée délibérément. Une application qui ne configure aucune limite de téléchargement ne perd rien, car Wicket n'applique par défaut aucune limite globale de taille ; ce que le défaut supprime est une limite définie par l'application. Les téléchargements via Form avec FileUploadField, ainsi que ceux via AjaxFileDropBehavior, ne sont pas affectés, car ces deux derniers lisent leurs limites depuis le composant plutôt que depuis la requête. La ressource de téléchargement n'existe pas dans la branche 8.x.

Cette vulnérabilité affecte Apache Wicket : des versions 9.14.0 à 9.24.0, et des versions 10.0.0 à 10.9.1. Il est recommandé aux utilisateurs de mettre à niveau vers les versions 9.25.0 ou 10.12.0, qui corrigent le problème.

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Apache

Réserver

01/09/2026

Divulgation

02/11/2026

Modérer

accepté

Entrée

VDB-429690

EPSS

0.00000

KEV

non

Activités

faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!