
https://nvd.nist.gov/vuln/detail/CVE-2022-34169
Verifica se o CVE-2022-34169 está corrigido na sua máquina. Pelo que sei, um exploit foi encontrado por um funcionário do Google e não foi publicado. Como a correção é conhecida, uma pequena rotina de teste foi escrita com base nisso para verificar se a correção está disponível em tempo de execução.
Opcional: Isso só está disponível se você tiver JDK:
# Optional: To see if `javac` is available: `sudo updatedb && sudo locate /bin/javac`
javac Bcel.java
Os seis avisos podem ser ignorados. O código sinalizado é usado para incluir a biblioteca Bcel que está disponível no OpenJDK. Se alguém fosse incluir a biblioteca Bcel por conta própria, seria um pouco mais complicado e a versão seria predefinida - o que não é necessariamente o espírito deste exercício.
# `cd` into (built) folder where `Bcel.class` is, then:
java Bcel
echo $?
Não se confunda com os códigos de erro. Eles estão ao contrário. A correção https://github.com/openjdk/jdk/commit/41ef2b249073450172e11163a4d05762364b1297?diff=unified#diff-3d2cb29a8f3fca8e2f3421d2898dce63255b850406456533cce91f26dbf8dbe2R217 gera um erro com o código de erro 1 e, assim, detecta o risco de segurança. Se a correção não estiver presente, o código-fonte é executado sem erro com o código de erro 0 - mas muitos elementos são criados no objeto!