Ndozi ọkụ ọkụ butere ndozi ezughị ezu maka adịghị ike Specter na kernel Linux

Ndị mmepe nke oru ngo Grasecurity akọrọ akụkọ ịdọ aka ná ntị nke na-egosi ka mkpochapụ n'echeghị echiche nke ịdọ aka ná ntị ndị nchịkọta ihe nwere ike iduga adịghị ike na koodu ahụ. N'ọgwụgwụ ọnwa Mee, a tụrụ aro maka kernel Linux maka vector ọhụrụ nke nrigbu nke adịghị ike Specter site na oku sistemu ptrace.

Mgbe ha na-anwale patch ahụ, ndị mmepe ahụ chọpụtara na mgbe ha na-ewu ụlọ, onye nchịkọta na-egosipụta ịdọ aka ná ntị banyere ịgwakọta koodu na nkọwa (a kọwapụtara usoro ahụ mgbe koodu ahụ gasịrị, na-ekenye uru maka mgbanwe dị adị):

int index = n;
ọ bụrụ na (n <HBP_NUM) {index = array_index_nospec(index, HBP_NUM); struct perf_event *bp = eri->ptrace_bps[index];

Linus nabatara mgbazi nye alaka nna gị ukwu, na-ekpochapụ site na ịdọ aka ná ntị ahụ site n'ịkwaga nkọwa mgbanwe gaa na ọ bụrụ ngọngọ:

ọ bụrụ na (n <HBP_NUM) {int index = array_index_nospec(n, HBP_NUM); struct perf_event *bp = eri->ptrace_bps[index];

N'ọnwa Julaị, ebufekwara ihe ndozi ahụ na alaka kernel kwụsiri ike 4.4, 4.9, 4.14, 4.19 na 5.2. Ndị na-elekọta alaka ndị ahụ kwụsiri ike zutekwara ịdọ aka ná ntị ahụ, kama ileba anya ịhụ ma ọ̀ bụ n'alaka ụlọ ọrụ Linus, ha rụziri onwe ha. Nsogbu bụ na n'echeghị echiche banyere ya, ha dị kpaliri na-akọwapụta usoro elu, nke mere na oku na-aga array_index_nospec, nke na-enye nchebe kpọmkwem megide adịghị ike, anaghịzi eji ya eme ihe mgbe a na-akọwapụta usoro ahụ, na kama mgbanwe "index" a na-eji mgbanwe "n" mgbe niile:

int index = n;
ọ bụrụ na (n <HBP_NUM ){struct perf_event *bp = eri->ptrace_bps[index];
index = array_index_nospec(index, HBP_NUM);

isi: opennet.ru

Tinye a comment