Koden til UNIXv4 er blevet genoprettet, den første OS med en kerne skrevet i C. Der er en sårbarhed i UNIXv4

Ved udgangen af det forgangne år blev der under oprydning i datacenteret ved University of Utah fundet et arkivbånd med koden til operativsystemet UNIXv4, der blev udviklet i 1973 til PDP-11/45 og som var blevet anset for tabt. UNIXv4 fortsatte udviklingen af det operativsystem UNIXv3, der blev udgivet et år tidligere, hvor programmeringsspråket C og unavngivne kanaler første gang blev brugt. En særlig egenskab ved UNIXv4 var omskrivningen af kernen fra assembly til C. Koden til kernen i UNIXv4 blev skrevet af Ken Thompson, mens drivere blev udviklet af Dennis Ritchie.

I slutningen af december 2025 kunne medarbejdere fra museet for computerhistorie finde det nødvendige udstyr og udtrække arkivet gemt på båndet. Til digitalisering af det analoge signal, der var optaget på båndet, blev værktøjet readtape anvendt, og til dekodning af arkivformatet blev der brugt udviklinger, der blev skabt under genoprettelsen af arkivet med implementeringen af texteditoren Emacs af James Gosling.

Udover koden til UNIXv4 blev der også fundet kildekoder til en af de første compilere for C og en interpreter for SNOBOL. Senere blev koden til UNIXv4 ryddet op og offentliggjort på GitHub i en form, der var egnet til at blive bygget og kørt i PDP-11 simulatoren. Koden til UNIXv4 indeholder 61.000 linjer, hvoraf 27.000 er skrevet i C, 33.000 i assembly til PDP-11 og cirka 1.000 er headerfiler.

Koden til UNIXv4 er blevet genoprettet, den første OS med en kerne skrevet i C. Der er en sårbarhed i UNIXv4

En af sikkerhedsforskerne bemærkede utility'en "su", der fulgte med UNIXv4. Denne utility indeholdt mindre end 50 linjer kode, blev installeret med setuid-root flaget og tillod at starte /bin/sh med root-rettigheder ved indtastning af det rigtige kodeord. Koden indeholdt en sårbarhed, der kunne føre til buffer overflow, da brugerens indtastede kodeord blev kopieret til et fast 100-tegns array uden at kontrollere størrelsen af de indtastede data.

Den identificerede problem blev kommenteret af den 93-årige Douglas McIlroy, som var en del af det oprindelige Unix-udviklingsteam i Bell Labs. Han foreslog konceptet med unavngivne kanaler og skabte værktøjer som echo, spell, diff, sort, join og tr. Ifølge Douglas var der før Morris-ormen i 1988 ikke mange, der bemærkede buffer overflow-problemer. Tilføjelse af størrelseskontroller for håndinddata blev set som unødvendig kode, og et krasjet ved buffer overflow blev betragtet som en klodset reaktion på ugyldig input. Over tid blev buffer overflow-problemer, der opstod ved behandling af automatisk genererede strenge, rettet, men for manuel input var logikken på niveauet "hvem ville have brug for at indtaste for lange strenge manuelt?"

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster