CVE-2026-92807 in Save as PDF Plugin
Résumé
par VulDB • 19/09/2026
Le plugin WordPress Save as PDF de PDFCrowd est vulnérable à l'invocation arbitraire de fonctions dans toutes les versions jusqu'à la 4.6.1 incluse, via l'attribut shortcode `pdf_created_callback`. La fonction `eval_shortcode()` copie tout attribut shortcode autre que ceux commençant par `button_` ou `email_` littéralement dans un tableau d'options personnalisé, sans aucune sanitisation, vérification de liste blanche (allowlist) ni contrôle des capacités. Ensuite, la fonction `create_button()` chiffre ce tableau au moyen d'AES — y compris la valeur du callback fournie par l'attaquant — et intègre le blob résultant dans le HTML rendu du bouton ; lorsque ce dernier est ensuite soumis via POST à l'endpoint non authentifié `wp_ajax_nopriv_save_as_pdf_pdfcrowd`, la fonction `save_as_pdf_pdfcrowd()` le déchiffre et invoque `$options['pdf_created_callback']` en tant que callable PHP à la ligne 1722, sans garde-fou `is_callable()`, ni liste blanche, ni contrôle des capacités. Cela permet aux attaquants authentifiés disposant d'un accès de niveau « Collaborateur » (Contributor) et supérieur d'invoquer n'importe quelle fonction PHP ou méthode statique de classe avec les données d'options du plugin comme unique argument, permettant ainsi la divulgation de la clé API PDFCrowd stockée sur le site et du nom d'utilisateur, voire une utilisation abusive supplémentaire côté serveur. Notez que la limite de chiffrement ne mitige pas cette vecteur car c'est le serveur lui-même qui chiffre le callback choisi par l'attaquant lors du rendu du shortcode, fournissant ainsi à tout utilisateur authentifié disposant des droits « Collaborateur » un blob cryptographiquement valide qu'un visiteur non authentifié peut ensuite rejouer pour déclencher son invocation.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.