
CVE-2023-4771 PoC CKEditor 4 Vulnérabilité de script intersite (XSS) dans l'exemple AJAX
CVE-2023-4771 PoC CKEditor 4 Vulnérabilité de script intersite (XSS) dans l'exemple AJAX
Ce document décrit comment réaliser une vulnérabilité XSS (CVE-2023-4771) à l'aide de CKEditor. Assurez-vous de procéder avec une grande prudence pour mener à bien les étapes suivantes :
Prérequis
• Avoir accès à une instance CKEditor.
Fichier : ckeditor/samples/old/ajax.html.
Étapes pour réaliser la vulnérabilité XSS :
Visiter la page d'exemple CKEditor Ouvrez votre navigateur favori et visitez cette URL : /ckeditor/samples/old/ajax.html. Cette URL doit pointer vers la page d'exemple CKEditor, qui se trouve sur l'application web testée.
Créer une nouvelle instance d'éditeur : Accédez à la page d'exemple CKEditor et recherchez-y un contrôle — bouton, lien, etc. — qui permet de créer une nouvelle instance d'éditeur ; cliquez dessus. L'instance CKEditor de la page devrait alors être activée.
Passer en mode Source : Lorsque l'instance CKEditor est prête, recherchez et cliquez sur le bouton « Source ». Ce bouton vous permet de contrôler le contenu HTML brut dans l'éditeur.
Injecter la charge utile XSS : Dans la vue source, un textarea est fourni dans lequel vous pouvez écrire du code HTML. Voici un exemple de charge utile XSS que vous pouvez injecter dans ce textarea :
<p>Xss<!-- --!>-->Attack</p>
Cette charge utile est une logique qui doit déclencher une alerte lors du rendu de ce HTML.
Supprimer l'instance d'éditeur : Après avoir collé la charge utile, recherchez le bouton/lien intitulé « Remove Editor » et cliquez dessus. Cela désactivera l'instance CKEditor et affichera le contenu en HTML.
Observer l'alerte XSS : Si l'application est vulnérable, après la suppression de l'éditeur et le rendu du contenu HTML, une boîte d'alerte avec le message « XSS » apparaît.
Code vulnérable dans ajax.html : document.getElementById( 'editorcontents' ).innerHTML = html = editor.getData();

Références :
• https://cve.mitre.org/cgi-bin/cvename.cgi?name=2023-4771
Crédit pour le PoC : Sahar Shlichove
Crédit pour le rapport CVE : Rafael Pedrero