De oppdaget en sårbarhet i ksmbd i Linux-kjernen

sårbarhet

Hvis de utnyttes, kan disse feilene tillate angripere å få uautorisert tilgang til sensitiv informasjon eller generelt forårsake problemer

Det ble nylig gitt ut informasjon om dette et Linux-kjernesårbarhet ble oppdaget med en CVSS-score på 10 på SMB-serveren, som gir en uautentisert bruker muligheten til å eksternt kjøre kode.

Feilen som ble funnet lar eksterne angripere kjøre vilkårlig kode på berørte installasjoner. Autentisering er ikke nødvendig for å utnytte dette sikkerhetsproblemet, men bare systemer med ksmbd aktivert er sårbare.

Den spesifikke feilen eksisterer i behandlingen av SMB2_TREE_DISCONNECT-kommandoene. Problemet skyldes ikke å validere at et objekt eksisterer før du utfører operasjoner på det objektet. En angriper kan utnytte dette sikkerhetsproblemet til å kjøre kode i konteksten til kjernen.

SÃ…RBARHETSDETALJER
Dette sikkerhetsproblemet lar eksterne angripere kjøre vilkårlig kode på berørte installasjoner av Linux-kjernen. Autentisering er ikke nødvendig for å utnytte dette sikkerhetsproblemet, men bare systemer med ksmbd aktivert er sårbare.

Den spesifikke feilen eksisterer i behandlingen av SMB2_TREE_DISCONNECT-kommandoene. Problemet er forårsaket av manglende validering av eksistensen av et objekt før du utfører operasjoner på objektet. En angriper kan utnytte dette sikkerhetsproblemet til å kjøre kode i konteksten til kjernen.

Det nevnes at avhengig av typen SMB-forespørsel, kan hver nye tråd bestemme seg for å sende kommandoer til brukerområdet (ksmbd.mountd); for øyeblikket er DCE/RPC-kommandoer identifisert for å bli håndtert av brukerplass. For å gjøre bedre bruk av Linux-kjernen, ble det besluttet å behandle kommandoene som arbeidselementer og utføre dem i ksmbd -io kworker-trådbehandlerne.

Dette lar ledere multipleksere fordi kjernen tar seg av å starte ytterligere arbeidertråder hvis belastningen øker og omvendt, hvis belastningen reduseres, dreper den de ekstra arbeidertrådene.

Når serverdemonen starter, starter den en gaffeltråd (ksmbd/grensesnittnavn) ved oppstart og åpner en dedikert port 445 for å lytte etter SMB-forespørsler. Hver gang nye klienter gjør en forespørsel, aksepterer forkertråden klientens tilkobling og oppretter en ny tråd for en dedikert kommunikasjonskanal mellom klienten og serveren. Dette gjør at SMB-forespørsler (kommandoer) fra klienter kan behandles parallelt og lar nye klienter etablere nye forbindelser.

ksmbd reiste røde flagg blant noen brukere som diskuterte fusjonen deres i fjor. SerNet, et tysk dataselskap som tilbyr sin egen versjon av Samba, sa i et blogginnlegg at ksmbd var kjempebra, men virket litt umodent. I tillegg uttalte SerNets Samba+-team i et blogginnlegg at verdien av å legge til en SMB-server til kjerneplass kanskje ikke er verdt risikoen med å "klemme den siste biten med ytelse ut av de tilgjengelige tingene."

Heldigvis, hvis du ikke kjører Samsungs «eksperimentelle» ksmbd-modul, som beskrevet av sikkerhetsforsker Shir Tamari på Twitter, og har beholdt Samba, er du helt trygg. “ksmbd er nytt; de fleste brukere bruker fortsatt Samba og er ikke berørt. I utgangspunktet, hvis du ikke kjører SMB-servere med ksmbd, nyt helgen din," twitret Tamari.

I følge Zero-Day Initiative, som avslørte ksmbd-sårbarheten, eksisterer bruk-etter-fri-feilen i behandlingen av SMB2_TREE_DISCONNECT-kommandoene. Ifølge ZDI er problemet forårsaket av at ksmbd ikke validerer eksistensen av objekter før de utfører operasjoner på dem.

For de som bruker ksmbd, er det en løsning i tillegg til å bytte til Samba: oppgrader til Linux-kjerneversjon 5.15.61, utgitt i august eller senere. Denne kjerneoppdateringen fikser også noen andre problemer i ksmbd: en out-of-bounds-lesing for SMB2_TREE_CONNECT, som ifølge oppdateringsnotatet kan tillate ugyldige forespørsler om å ikke sende meldinger, og en minnelekkasje i smb2_handle_negotiate som forårsaker en feilfri. hukommelse.

endelig hvis du er det interessert i å vite mer om det, kan du sjekke detaljene I den følgende lenken.