Ba é an toradh a bhí ar shocrú gríos ná deisiú neamhiomlán do leochaileacht Specter san eithne Linux

Forbróirí an tionscadail Grsecurity roinnte scéal rabhaidh a thaispeánann conas is féidir le leochaileachtaí sa chód a bheith mar thoradh ar dhíothú míchúramach rabhaidh tiomsaitheora. Ag deireadh mhí na Bealtaine, moladh socrú don eithne Linux le haghaidh veicteoir nua a shaothrú ar leochaileacht Specter trí ghlao an chórais ptrace.

Agus an paiste á thástáil, thug na forbróirí faoi deara, agus iad ag tógáil, go dtaispeánann an tiomsaitheoir rabhadh maidir le cód agus sainmhínithe a mheascadh (sainmhíníodh an struchtúr tar éis an chóid, ag sannadh luach d'athróg reatha):

innéacs int = n;
más rud é (n < HBP_NUM) { index = eagar_index_nospec(innéacs, HBP_NUM); struct perf_event * bp = snáithe-> ptrace_bps[innéacs];

Ghlac Linus leis leasú chuig do mháistir-chraobh, tar éis éirí as ón rabhadh tríd an sainmhíniú athróg a bhogadh go bloc if:

más rud é (n < HBP_NUM) { int index = array_index_nospec(n, HBP_NUM); struct perf_event * bp = snáithe-> ptrace_bps[innéacs];

I mí Iúil, cuireadh an socrú freisin chuig na brainsí eithne cobhsaí 4.4, 4.9, 4.14, 4.19 agus 5.2. Tháinig lucht cothabhála na gcraobhacha cobhsaí faoin rabhadh freisin agus, in ionad a sheiceáil féachaint an raibh sé socraithe cheana féin i máistir-bhrainse Linus, rinne siad socrú iad féin. Is í an fhadhb atá ann go gan smaoineamh i ndáiríre faoi, siad díreach ar athraíodh a ionad an struchtúr a shainiú suas, ionas nach n-úsáidtear an glao go array_index_nospec, a sholáthraíonn cosaint dhíreach ar an leochaileacht, a thuilleadh nuair a bhíonn an struchtúr á shainiú, agus in ionad an "innéacs" athróg úsáidtear an athróg "n" i gcónaí:

innéacs int = n;
más rud é (n < HBP_NUM ){ struchtúr perf_event * bp = snáithe-> ptrace_bps[innéacs];
innéacs = eagar_index_nospec(innéacs, HBP_NUM);

Foinse: oscailtenet.ru

Add a comment