OpenSSH har åtgärdat sårbarheten CVE-2023-38408 som tillåter fjärrkörning av kod (RCE) via vidarebefordrad SSH-agent.
Under vissa förutsättningar kan en angripare tillåtas köra kod via en vidarebefordrad SSH-agent med hjälp av funktionaliteten för PKCS#11. Problemet upptäcktes av Qualys Security Advisory team[1].
Att kunna lagra nycklar i SSH-agenten gör att användaren slipper upprepa sin lösenfras för varje server hen loggar in i. Samma sak gäller naturligtvis för skriptkörning. Sårbarheten ligger i att en angripare med tillgång till den server som användaren loggar in i, med hjälp av en vidarebefordran av SSH-agenten, kan ladda i och ur programbibliotek från /usr/lib* på användarens dator. För lyckat utnyttjande måste specifika programbibliotek finnas på nämnda kataloger. Dessutom måste SSH-agenten vara kompilerad med ENABLE_PKCS11, vilket också är det vanligaste.
En teknisk beskrivning av problemet ges av Qualsys[2].
Koncepttest (PoC) för utnyttjande av sårbarheten till fjärrkörning av kod finns tillgängligt. Vid tiden för publicering känner vi inte till att sårbarheten utnyttjas aktivt men utesluter inte att så kommer ske.
Påverkade produkter
OpenSSH tidigare än 9.3p2
Sårbarheten påverkar system där SSH-agenten används med vidarebefordran aktiverad (option -A)[3].
Rekommendationer
Det innebär alltid en risk att använda SSH-agenter konfigurerade för vidarebefordran varför sådan användning avråds.
Systemadministratörer bör snarast se över sina OpenSSH-konfigurationer och vid behov åtgärda dessa. System som misstänks ha varit exponerade före åtgärdandet bör undersökas efter spår på utnyttjande. Skulle sådana spår av utnyttjande upptäckas måste källan där angriparen redan har fotfäste efterforskas.
Försäkra er om att ni använder OpenSSH 9.3p2 eller senare version, i annat fall uppgradera snarast.
Källor
[1] https://vulcan.io/blog/how-to-fix-cve-2023-38408-in-openssh/
[2] https://www.qualys.com/2023/07/19/cve-2023-38408/rce-openssh-forwarded-ssh-agent.txt
[3] https://man.openbsd.org/ssh.1