Theo de Raadt a adăugat în baza de cod OpenBSD o serie de patch-uri pentru protecția suplimentară a memoriei proceselor în spațiul utilizatorului. Dezvoltatorilor le este propus un nou apel de sistem și o funcție bibliotecă omonimă mimmutable, care permite fixarea drepturilor de acces în memorie (memory mappings). După fixare, drepturile atribuite zonei de memorie, de exemplu, interdicția de scriere și executare, nu pot fi modificate ulterior prin apeluri ulterioare ale funcțiilor mmap(), mprotect() și munmap(), care vor returna o eroare EPERM în cazul unei încercări de modificare.
Pentru a gestiona posibilitatea de a schimba drepturile memoriei reflectate pentru fișierele obiect, a fost propusă o nouă secțiune Mutable BSS (.openbsd.mutable, Mutable Block Starting Symbol), precum și adăugarea unor noi flag-uri PF_MUTABLE și UVM_ET_IMMUTABLE. La linker a fost adăugată suport pentru definirea secțiunilor „openbsd.mutable” și plasarea acestora într-o zonă separată în BSS, aliniată la limita paginii de memorie. Prin apelul funcției mimmutable, se oferă posibilitatea de a marca toate zonele reflectate ca fiind imposibil de modificat (immutable), cu excepția secțiunilor marcate ca „openbsd.mutable”. Noua funcționalitate va fi livrată utilizatorilor în versiunea OpenBSD 7.3.
Sursa: opennet.ro
