Teknologi

Ubuntu 26.04 gør Rust sudo til standard og afslutter 46 år med C-sårbarheder

Adrian Kessler

Ubuntu 26.04 LTS, udgivet i april 2026, gør sudo-rs til standardimplementeringen af værktøjet, der styrer systemadgang på Linux. Når en bruger eller proces har brug for forhøjede rettigheder – til at installere software, ændre systemfiler, køre en service som root – er sudo gatekeeperen. Den oprindelige version var skrevet i C. sudo-rs er en komplet genimplementering i Rust, og det er nu den version, der leveres som standard på verdens mest udbredte Linux-distribution.

Den oprindelige sudo blev skrevet i 1980. I den tid har C-kodebasen akkumuleret noget andet ved siden af sine funktioner: en klasse af hukommelsesstyringssårbarheder, som Rust eliminerer på kompilerniveau. Den mest betydningsfulde var CVE-2021-3156, kaldet Baron Samedit. Sårbarheden lå uopdaget i omkring ti år og muliggjorde lokal privilegieeskalering på alle større Linux-distributioner. En lokal angriber med en ikke-root-shell-konto kunne blive root. Canonical rettede det inden for 24 timer efter offentliggørelsen. Den arkitektoniske tilstand, der gjorde det muligt – C’s manuelle hukommelsesstyring – blev ikke rettet.

Det, Rust ændrer, er ikke, hvordan koden skrives, men hvilken klasse af fejl der kan eksistere i den. Bufferoverløb, use-after-free-fejl og null-pointer-dereferencer er en kategori af sårbarheder, som Rust eliminerer ved kompilering – compileren afviser kode med disse mønstre, før den kan køre. For et stykke software, der håndterer privilegieeskalering, er det en betydelig begrænsning at fjerne fra trusselsmodellen.

sudo-rs gennemførte en fuld uafhængig sikkerhedsrevision i 2023. Projektet opnåede præstationsparitet med C-implementeringen. Canonical begyndte at levere det som en mulighed i tidligere Ubuntu-versioner, før det gjorde det til standard i 26.04. Den trinvise tilgang afspejler den forsigtighed, der er passende for at erstatte et værktøj, der, hvis det svigter, enten kan låse brugere ude af systemadgang eller eskalere angribere til root.

Ubuntu 26.04 leveres også med uutils coreutils – Rust-genimplementeringer af grundlæggende værktøjer som ls, cat og mv. Men cp, mv og rm forbliver på GNU C-implementeringerne i denne udgivelse. Canonicals begrundelse: TOCTOU-race conditions i disse Rust-implementeringer medfører risiko for dataødelæggelse, som teamet vurderede for høj til en LTS-udgivelse. Den trinvise udrulning afslører noget ærligt om ‘bare omskriv det i Rust’-tilgangen: værktøjerne findes, men migrationen kræver en sagsbaseret sikkerhedsanalyse, ikke en blanketomstilling.

Linux-kernen begyndte at acceptere Rust-driverkode i 2022. Android-teamet har brugt Rust til nyt systemkode siden 2021. Microsoft har omskrevet hukommelsesfølsomme Windows-komponenter i Rust. Ubuntu, der gør sudo-rs til standard, er en betydningsfuld milepæl, fordi det ikke er et eksperiment i en ny driver eller en valgfri komponent – det er autentificeringslaget for systemadgang, leveret som standard til hver ny Ubuntu-installation.

CVE-mønsteret, der producerede Baron Samedit, slutter for Ubuntu-brugere under denne konfiguration. Om andre større distributioner – Debian, Red Hat, Fedora, Arch – følger Ubuntus skridt til standard sudo-rs, er spørgsmålet, der bestemmer omfanget af ændringen. sudo-rs er tilgængeligt for dem alle. Canonical besluttede, at revisionsresultaterne var tilstrækkelige. Den næste beslutning tilhører de andre vedligeholdere.

Tags: , , , , ,

Debat

Der er 0 kommentarer.