He havaitsivat OpenSSH:ssa haavoittuvuuden, jota voidaan hyödyntää etänä

alttius

Jos näitä puutteita hyödynnetään, hyökkääjät voivat päästä luvattomasti arkaluontoisiin tietoihin tai aiheuttaa yleensä ongelmia

Tietoja julkaistiin a haavoittuvuus, joka havaittiin OpenSSH-toteutus SSH-aine joka sallii koodin ajamisen järjestelmässä, joka on antanut ssh-agentin pääsyn ssh-yhteyden toisessa päässä olevaan isäntään.

Haavoittuvuus, joka on jo luetteloitu nimellä CVE-2023-38408, se on huomattava, koska se on etäkäyttöinen. Hyökkäys mahdollista vain, jos käyttäjä on muodostanut yhteyden ssh:n kautta hyökkääjän hallitsemaan järjestelmään ottamalla käyttöön socketin edelleenlähetyksen ssh-agentille ssh:n kautta käyttämällä "-A"-vaihtoehtoa tai konfigurointitiedoston ForwardAgent-asetusta.

Ssh-agent-prosessi, jota käytetään yksityisten avainten välimuistiin julkisen avaimen todennusta varten, tukee valinnaista edelleenlähetystilaa, jonka avulla ssh-yhteyden etäpuoli voi käyttää paikallisen järjestelmän ssh-agenttia, jotta todennustietoja ei tallennettaisi muihin isäntiin.

Haavoittuvuus liittyy siihen, että ssh-agent tukee PKCS # 11 -moduulien lataamista, joka voidaan käynnistää muun muassa unix-socketin kautta, joka välitetään toiseen järjestelmään ssh-agentille.

Tämä ominaisuus sallii isäntäkonetta hallitsevan hyökkääjän johon se on kytketty lataa ja pura välittömästi kaikki jaetut kirjastot uhrin paikallisen järjestelmän /usr/lib*-hakemistoista erillisessä ssh-pkcs11-helper-prosessissa. Tämä ominaisuus näkyy ssh-agentissa, joka on käännetty ENABLE_PKCS11-vaihtoehdolla, joka on oletuksena käytössä.

Alun perin mahdollisuutta ladata jaettuja kirjastoja ei pidetty uhkana varmuuden vuoksi, koska lataaminen on mahdollista vain /usr/lib*-järjestelmähakemistoista, jotka sisältävät jakelun virallisesti toimittamia kirjastoja, ja toiminta näiden kirjastojen kanssa rajoittuu dlopen()- ja dlclose()-funktioiden kutsumiseen kutsumatta kirjaston toimintoja.

Kuitenkin, unohdettu, että joissakin kirjastoissa on rakentaja- ja hävittäjätoimintoja joita kutsutaan automaattisesti dlopen()- ja dlclose()-operaatioita suoritettaessa. Tämä voi riittää poimimaan tarvittavat kirjastot ja järjestämään koodin etäsuorituksen.

Hyökkäyskyky näkyy mm oletusympäristö ubuntu, koska ei testattu muissa jakeluissa, joka myös asentaa kolme pakettia "universe"-varastosta (vaikka oletetaan, että joissakin jakeluissa on mahdollista hyökätä oletuskokoonpanossa).

Hyökkäyksestä ehdotettiin 8 muunnelmaa.

Esimerkiksi yksi lupaavista vaihtoehdoista toimivan exploitin luomiseen perustuu siihen, että libgnatcoll_postgres.so-kirjasto, kun suoritetaan dlopen(), rekisteröi erillisen signaalinkäsittelijöissä käytetyn signaalipinon kutsumalla sigaltstack()-funktiota ja dlclose()-kutsun jälkeen varaa muistin, mutta ei poista signaalin kirjaamista (SS_stack-logging).

Hyödyntämään haavoittuvuutta suoritetaan seuraavat manipulaatiot:

  • Erilaisia ​​kirjastoja ladataan muuttamaan mmap-asettelua.
  • Kirjasto libgnatcoll_postgres.so ladataan, vaihtoehtoinen signaalipino rekisteröidään ja munmap() suoritetaan.
  • Kirjastot ladataan muuttamaan mmap:n asettelua ja korvaamaan erillisen signaalipinon toisella kirjoitustilan muistialueella (esimerkiksi stream-pino tai .data/.bss-segmentit).
  • Lataa kirjaston, joka rekisteröi SA_ONSTACK-signaalinkäsittelijän, mutta ei rekisteröi sitä munmap():lla, kun dlclose()-funktiota kutsutaan.
  • Kirjasto, joka vastaanottaa signaalin ja kutsuu SA_ONSTACK signaalinkäsittelijää, ladataan, jolloin korvattu muistialue ylikirjoitetaan signaalinkäsittelijän pinokehyksillä.
  • Kirjastot ladataan korvaamaan korvatun muistialueen sisällön.

Haavoittuvuudesta on syytä mainita, että tämä korjattiin OpenSSH 9.3p2 -julkaisussa äskettäin julkaistu. Uudessa versiossa PKCS#11-moduulien latauspyynnöt on oletusarvoisesti poistettu käytöstä. Suojauksen kiertotapana voit määrittää tyhjän PKCS#11/FIDO sallittujen luettelon (ssh-agent -P ») käynnistäessäsi ssh-agentin tai määrittää erikseen sallitut kirjastot.

Lopuksi, jos olet kiinnostunut saamaan lisätietoja siitä, voit tutustua yksityiskohtiin osoitteessa seuraava linkki.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.