He havaitsivat haavoittuvuuden Linuxin exFAT-ohjaimessa 

alttius

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

Muutama päivä sitten uutinen kertoi asiasta haavoittuvuus havaittiin (jo lueteltu kohdassa CVE-2023-4273) exFAT-tiedostojärjestelmän ohjaimessa toimitetaan Linux-ytimessä.

Ongelmaa piilee siinä, että ohjain sallii asennettaessa erityisesti suunnitellun osion, (esimerkiksi liittämällä haitallinen USB-muisti), paina pinon ylivuotoa ja suorita koodisi ytimen oikeuksilla.

Ongelmana on: koodi olettaa, että tiedostonimen syötteet tuottavat aina ketjutetun tiedostonimen, joka mahtuu 255 merkkiin (rajoitus on 258 merkkiä, sisältää yhden ylimääräisen merkin nollatavua varten ja 1 ylimääräistä merkkiä muuntamista varten). Yli 2 merkin tallentaminen tiedostonimestä hakemistomerkintöjen joukkoon on tiedostojärjestelmän muotorikkomus, mutta Linux-ohjain hyväksyy sen, mutta aiheuttaa myös pinon ylivuodon (koska tiedostonimi on ketjutettu pinon varaamaksi muuttujaksi).

Haavoittuvuudesta mainitaan, että tämä jas on käytetty koon tarkistuksen epäonnistumisen vuoksi tiedostonimen kopioiminen pinon varaan puskuriin johtaa ytimen pinon ylivuotoon, jos toimitetaan erittäin pitkä tiedostonimi, joka ylittää tiedostojärjestelmän 255 merkin rajan.

Funktio exfat_extract_uni_name() lopettaa merkkien kopioimisen kohdepuskuriin, kun nollamerkki (0x0000) havaitaan, ja palauttaa kopioitujen merkkien määrän. Mutta soittaja jättää huomioimatta palautusarvon ja siirtää osoitinta 15 merkkiä (30 tavua) eteenpäin seuraavaa iteraatiota varten. Siksi on mahdollista ohittaa (jättää koskemattomaksi) 14 merkkiä tai 28 tavua yhdessä iteraatiossa. 

Haavoittuvuus on läsnä funktiossa, joka suorittaa pitkän nimen rekonstruoinnin luetaan syklisesti tietueita, joissa on tiedostonimiosia hakemistohakemistosta ja yhdistetään tuloksena olevat nimiosat lopulliseen pitkään nimeen.

Kyseisen funktion koodin kokotarkistus suoritettiin suhteessa jokaiseen merkintään, jossa oli nimiosa, mutta se ei kattanut lopullista nimeä (esimerkiksi nimi voidaan jakaa 100 osaan ja saavuttaa 1500 merkkiä puskurissa olevan 258 merkin sijaan ).

Tutkija joka löysi haavoittuvuuden pystyi valmistamaan prototyyppihyödynnyksen jonka avulla voit lisätä oikeuksiasi järjestelmässä. VirtualBox-virtuaalikoneella testattaessa hyväksikäyttö toimii 100 % ajasta, mutta kun se suoritetaan normaalissa ympäristössä laitteiston päällä, sen käynnistymisen mahdollisuus putoaa noin 50 %:iin.

Erityisesti hyväksikäyttöni korvaa pinon allokoidun osoittimen nollapäätteiseen merkkijonoon, joten seuraava yritys lisätä lopettava nollamerkki tähän merkkijonoon tulee itse asiassa primitiivinen "kirjoita nollatavu hyökkääjän valitsemaan muistipaikkaan.

Mainitaan myös se haavoittuvuutta voidaan käyttää UEFI Secure Boot -tilassa käynnistettyjen ytimien vaarantamiseen, koska siinä mainitaan, että haavoittuvan ytimen sisältävä kuva, jossa on vastaava init-skripti (ja tietysti exploit), joka käynnistyy ennen todellista käyttöjärjestelmää, sijoitetaan käynnistysasemaan. Kun tämä kuva käynnistetään, se lataa haitallisen (ja allekirjoittamattoman) ydinmoduulin, joka hallitsee ydintilaa ja vaihtaa sitten todelliseen käyttöjärjestelmään (esimerkiksi kexec-kutsulla).

Lopuksi on syytä mainita, että ongelma korjattiin edelleen tuetuissa Linux-versioissa. Haavoittuvuuden paljastamisen aikaan uusin Linux-ytimen versio oli Linux-versio 6.4.10, mutta uudessa versiossa 6.5 on jo korjaus.

Ne, jotka ovat kiinnostuneita seuraamaan ratkaisua eri jakeluissa, voivat tehdä sen seuraavilta sivuilta: DebianUbuntu, RHELSUSE Fedora.

Jos olet kiinnostunut tietämään siitä lisää, voit tarkistaa yksityiskohdat 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.