Mais passer par Expression() de beans permet de contourner la sécurité. Je ne connais pas suffisamment Java pour savoir pourquoi.
Le système de sécurité de Java se base sur l'analyse de la pile d'appels de méthodes. En gros, pour savoir si une opération est permise, on vérifie que chaque méthode dans la pile a bien le droit de l'appeler.
Comme ce système seul serait insuffisant, il y a un moyen de faire des appels de méthodes dits "privilégiés". Dans ce cas, la vérification va s'arrêter à l'endroit où l'appel privilégié est fait, sans tenir compte des permissions de l'appelant (très approximativement, on peut voir ça un peu comme le bit SetUID ou SetGID sur les permissions Unix)
Apparemment, le problème qu'on a ici, c'est qu'on a un de ces appels privilégiés dans la classe Expression du package Java Beans. Les classes de base du JDK s'exécutant avec un niveau de privilège très élevé (normalement, c'est sans restriction), ça permet donc, combiné avec la méthode dans AWT, d'effectuer des appels qui désactivent complètement la sécurité.
[^] # Re: Un 0-day de 2 jours?
Posté par Buf (Mastodon) . En réponse au journal Java ça pue c'est trop libre.. Évalué à 5.
Le système de sécurité de Java se base sur l'analyse de la pile d'appels de méthodes. En gros, pour savoir si une opération est permise, on vérifie que chaque méthode dans la pile a bien le droit de l'appeler.
Comme ce système seul serait insuffisant, il y a un moyen de faire des appels de méthodes dits "privilégiés". Dans ce cas, la vérification va s'arrêter à l'endroit où l'appel privilégié est fait, sans tenir compte des permissions de l'appelant (très approximativement, on peut voir ça un peu comme le bit SetUID ou SetGID sur les permissions Unix)
Apparemment, le problème qu'on a ici, c'est qu'on a un de ces appels privilégiés dans la classe Expression du package Java Beans. Les classes de base du JDK s'exécutant avec un niveau de privilège très élevé (normalement, c'est sans restriction), ça permet donc, combiné avec la méthode dans AWT, d'effectuer des appels qui désactivent complètement la sécurité.