Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2023-46404 — PoC and Writeup for CVE-2023-46404. | Kitploit
Outils/GitHubGitHub/windecks/cve-2023-46404
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPapers & ResearchLearning & Education
GitHubwindecks/cve-2023-46404

CVE-2023-46404

PoC and Writeup for CVE-2023-46404.

Voir le dépôt
3il y a 2 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2023-46404

PCRS est une application web pour des exercices de programmation en ligne développée à l'Université de Toronto. Voir le dépôt Bitbucket : https://bitbucket.org/utmandrew/pcrs/src/3.11/

Résumé

La page « Questions » de PCRS avec soumission de code et la page « Éditeur de code » sont vulnérables à l'exécution de code à distance (RCE) en contournant le sandboxing Python.

Détails

L'exécution de code à distance peut être réalisée dans des instances PCRS grâce à l'utilisation d'objets générateurs. En utilisant les trames de générateur (gi_frame) et f_back, les scripts peuvent sortir d'une trame de pile sandboxée et exécuter du code malveillant dans un environnement non sandboxé. De plus, la normalisation Unicode peut facilement contourner l'assainissement de base des entrées. Tout utilisateur authentifié avec des privilèges minimaux peut effectuer cette attaque. Voir la PoC pour plus de détails.

Versions affectées connues

  • PCRS <= 3.11 d0de1e avec exécution Python.
  • Correctif implémenté dans 9326ad3 avec une mitigation partielle dans fbaedd3.

Atténuation

Créer des mécanismes d'isolation sécurisés à partir de zéro est sujet à des oublis et des vulnérabilités. Comme toujours, il est préférable de sandboxer un environnement d'exécution plutôt qu'un langage.

Supplément

La redéfinition de __eq__ peut être utilisée dans un environnement restreint :

root@kitploit:~
def f():
    mod_name = "os"
    fake_name = "json"
    os = __import__(type("s", (str,), {"__eq__": lambda x, y: y == fake_name or y == mod_name, "__hash__": lambda x: hash(mod_name)})(mod_name))
    os.system("id > /tmp/test.txt")
    s = ᵒpen("/tmp/test.txt").read() # unicode normalization of the "open" function
    os.system("rm /tmp/test.txt")
    return s
Télécharger l’outil