De upptäckte en sårbarhet i OpenSSH som kan utnyttjas på distans

sårbarhet

Om de utnyttjas kan dessa brister tillåta angripare att få obehörig åtkomst till känslig information eller i allmänhet orsaka problem

Information lämnades om en sårbarhet som upptäcktes i OpenSSH-implementeringen av ssh-agent som gör att koden kan köras på ett system som har gett ssh-agent åtkomst till en värd i andra änden av en ssh-anslutning.

Sårbarheten, redan katalogiserad under CVE-2023-38408, det är anmärkningsvärt eftersom det är fjärrexploaterbart. Attacken endast möjligt om användaren har anslutit via ssh till ett system som kontrolleras av angriparen genom att aktivera socketvidarebefordran till ssh-agent över ssh genom att använda alternativet "-A" eller inställningen ForwardAgent i konfigurationsfilen.

ssh-agent-processen, som används för att cachelagra privata nycklar för autentisering av publik nyckel, stöder ett valfritt vidarebefordransläge som tillåter fjärrsidan av en ssh-anslutning att komma åt ssh-agenten på det lokala systemet för att inte lagra autentiseringsdata på andra värdar.

Sårbarhet är relaterat till närvaron i ssh-agent av stöd för att ladda PKCS # 11-moduler, som bland annat kan startas via en unix-socket vidarebefordrad till ett annat system till ssh-agent.

Denna funktion tillåter en angripare som kontrollerar värden som den är kopplad till ladda omedelbart och ta bort alla delade bibliotek från /usr/lib*-katalogerna på offrets lokala system i en separat ssh-pkcs11-hjälparprocess. Den här funktionen visas i ssh-agent kompilerad med alternativet ENABLE_PKCS11, som är aktiverat som standard.

Till en början ansågs möjligheten att ladda delade bibliotek inte vara ett hot av säkerhetsskäl, eftersom laddning endast är möjlig från systemkatalogerna /usr/lib*, som innehåller bibliotek som officiellt tillhandahålls av distributionen, och operationer med dessa bibliotek är begränsade till att anropa funktionerna dlopen() och dlclose(), utan att anropa bibliotekets funktioner.

Sin embargo, förbise att vissa bibliotek har konstruktor- och förstörarfunktioner som anropas automatiskt när operationerna dlopen() och dlclose() utförs. Detta kan vara tillräckligt för att hämta de nödvändiga biblioteken och organisera fjärrkörning av kod.

Förmågan att attackera visas i standardmiljön för Ubuntu sedan inte testat i andra distributioner, vilket också installerar tre paket från "universum"-förvaret (även om det antas att det i vissa distributioner är möjligt att attackera i standardkonfigurationen).

8 varianter av attacken föreslogs.

Till exempel är ett av de lovande alternativen för att skapa en fungerande exploatering baserat på det faktum att biblioteket libgnatcoll_postgres.so, vid exekvering av dlopen(), registrerar en separat signalstack som används i signalhanterare genom att anropa sigaltstack()-funktionen, och efter anrop av dlclose() allokerar minne, men inaktiverar inte signalstack-loggning (SS_DISABLE).

För att utnyttja sårbarheten, följande manipulationer utförs:

  • Olika bibliotek laddas för att ändra mmap-layouten.
  • Biblioteket libgnatcoll_postgres.so laddas, en alternativ signalstack registreras och munmap() exekveras.
  • Bibliotek laddas för att ändra layouten för mmap och ersätta den separata signalstacken med ett annat skrivlägesminnesområde (till exempel strömstacken eller .data/.bss-segmenten).
  • Laddar ett bibliotek som registrerar SA_ONSTACK-signalhanteraren men som inte registrerar det med munmap() när dlclose() anropas.
  • Biblioteket som tar emot signalen och anropar SA_ONSTACK-signalhanteraren laddas, vilket gör att det ersatta minnesområdet skrivs över av stackramar från signalhanteraren.
  • Bibliotek laddas för att specifikt skriva över innehållet i det ersatta minnesområdet.

Angående sårbarhet är det värt att nämna att detta fixades i OpenSSH 9.3p2-versionen nyligen publicerat. I den nya versionen är begäranden om att ladda PKCS#11-moduler inaktiverade som standard. Som en säkerhetslösning kan du ange en tom PKCS#11/FIDO-vitlista (ssh-agent -P ») när du startar ssh-agent, eller uttryckligen definiera de bibliotek som är tillåtna i vitlistan.

Slutligen, om du är intresserad av att kunna veta mer om det, kan du konsultera detaljerna i följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.