Cov kev hloov pauv tau ua rau OpenBSD txhawm rau tiv thaiv cov txheej txheem nco ntxiv

Theo de Raadt tau ntxiv ntau thaj ua rau thaj rau OpenBSD codebase los tiv thaiv tus neeg siv-chaw ua haujlwm nco. Cov neeg tsim tawm tau muab qhov kev hu xov tooj tshiab thiab cov tsev qiv ntawv sib txuas tsis sib haum xeeb ntawm tib lub npe, uas tso cai rau kev kho cov cai nkag mus thaum xav txog kev nco (memory mappings). Tom qab kho, cov cai teev tseg rau thaj chaw nco, piv txwv li, txwv tsis pub sau thiab ua tiav, tsis tuaj yeem hloov pauv tom qab los ntawm kev hu mus rau mmap (), mpprotect () thiab munmap () ua haujlwm, uas, thaum sim hloov, yuav tsim ib qho EPERM yuam kev.

Ib ntu tshiab Mutable BSS (.openbsd.mutable, Mutable Block Starting Symbol) tau raug npaj los tswj lub peev xwm los hloov lub cim xeeb tso cai rau cov ntaub ntawv khoom, thiab cov chij tshiab PF_MUTABLE thiab UVM_ET_IMMUTABLE tau ntxiv. Ntxiv kev txhawb nqa rau tus txuas rau kev txhais cov ntu "openbsd.mutable" thiab muab tso rau hauv ib qho chaw sib cais hauv BSS ua raws li ib thaj tsam ntawm lub cim xeeb. Los ntawm kev hu mus rau qhov muaj nuj nqi mimmutable, nws tuaj yeem khij txhua qhov chaw mirrored li hloov tsis tau, nrog rau qhov tshwj xeeb ntawm cov ntu uas cim tias "openbsd.mutable". Cov yam ntxwv tshiab yuav raug nthuav tawm rau cov neeg siv hauv OpenBSD 7.3 tso tawm.

Tau qhov twg los: opennet.ru

Ntxiv ib saib