
https://nvd.nist.gov/vuln/detail/CVE-2022-34169
Überprüft, ob CVE-2022-34169 auf Ihrem Rechner behoben ist. Soweit ich weiß, wurde ein Exploit von einem Google-Mitarbeiter gefunden und nicht veröffentlicht. Da der Fix bekannt ist, wurde eine kleine Testroutine geschrieben, um zu überprüfen, ob der Fix zur Laufzeit verfügbar ist.
Optional: Dies ist nur verfügbar, wenn Sie JDK haben:
# Optional: To see if `javac` is available: `sudo updatedb && sudo locate /bin/javac`
javac Bcel.java
Die sechs Warnungen können ignoriert werden. Der markierte Code wird verwendet, um die Bcel-Bibliothek einzubinden, die in OpenJDK verfügbar ist. Wenn man die Bcel-Bibliothek selbst einbinden würde, wäre es etwas komplizierter und die Version wäre vordefiniert – was nicht unbedingt im Sinne dieser Übung ist.
# `cd` into (built) folder where `Bcel.class` is, then:
java Bcel
echo $?
Lassen Sie sich nicht von den Fehlercodes verwirren. Sie sind umgekehrt. Der Fix https://github.com/openjdk/jdk/commit/41ef2b249073450172e11163a4d05762364b1297?diff=unified#diff-3d2cb29a8f3fca8e2f3421d2898dce63255b850406456533cce91f26dbf8dbe2R217 wirft einen Fehler mit Fehlercode 1 und fängt so das Sicherheitsrisiko ab. Wenn der Fix nicht vorhanden ist, läuft der Quellcode ohne Fehler mit Fehlercode 0 durch – aber es werden zu viele Elemente im Objekt erstellt!