2025 yılında, UNIX v4'ün bilinen tek kopyası manyetik bir bantta ortaya çıktı. Bu sürüm, UNIX'in C diline yeniden yazıldığı bilgisayar tarihinde önemli bir dönüm noktasıdır. Meraklılar verileri hızla kurtardı ve sistemi bir PDP-11 simülatöründe başarıyla çalıştırdı. Bu tarihi esere hayran kalan bir araştırmacı, sistemi incelemek için bir örnek kurdu ve dağıtımın kaynak kodunu içerdiğini fark etti. su(1) programını incelerken bir hata tespit etti ve bu makalede hatanın nasıl düzeltildiğini anlattı.
50 yıldan daha eski olmasına rağmen, su programı modern varyantına benzer şekilde çalışır. Bir setuid-root çalıştırılabilir dosyası olarak, root parolasını doğrular. Kullanıcı doğru kimlik bilgilerini sağlarsa, program bir root kabuğu başlatarak ayrıcalıksız bir kullanıcının ayrıcalıklarını yükseltmesine olanak tanır. su.c kaynak dosyası 50 satırdan az kod içerir. Program, root kullanıcısı için /etc/passwd dosyasından parola girişini almak için getpw() fonksiyonunu kullanır, ardından kullanıcının girdiği parolayı crypt() fonksiyonuyla işler ve depolanan hash ile karşılaştırır.
Bu mantıkta kritik bir kusur bulunmaktadır: password bellek tamponunun sabit boyutu 100 bayttır, ancak giriş döngüsünde bir sınır kontrolü eksiktir. Kullanıcı 100 karakterden fazla girdiğinde bir bellek taşması (buffer overflow) meydana gelir. Araştırmacı, uzun bir giriş dizesiyle test yaparak bu davranışı doğruladı ve programın başarıyla çöktüğünü gözlemledi. Sonuç, üzerine yazılan bitişik bellek alanına bağlı olarak değişebilir; bazen su sadece çıkar, bazen ise bir çekirdek dökümü (core dump) oluşturur. UNIX geleneksel olarak kendi kendine yeniden derleme için gerekli kaynak kodunu içerir ve v4 de bir istisna değildir. Bu, su programını doğrudan sistem üzerinde yamalamamıza ve derlememize olanak tanır.
UNIX v4 gibi eski sistemlerde bile temel güvenlik açıklarının nasıl var olabileceğini ve bunların günümüzde bile keşfedilip anlaşılabileceğini gösteriyor.