io_uring માં નબળાઈએ પરવાનગી વિના વપરાશકર્તાને કન્ટેનરમાં પણ રૂટ બનવાની મંજૂરી આપી

તાજેતરમાં નબળાઈ માહિતી જાહેર (CVE-2022-29582) io_uring અસુમેળ I/O ઈન્ટરફેસના અમલીકરણમાં, આવૃત્તિ 5.1 થી Linux કર્નલમાં સમાવિષ્ટ છે, જે કન્ટેનર એક્સ્પ્લોઈટ ચલાવી રહ્યા હોય ત્યારે પણ, અનપ્રીવલેજ્ડ યુઝરને સિસ્ટમ પર રૂટ બનવાની પરવાનગી આપે છે.

તે ઉલ્લેખનીય છે જણાવ્યું હતું કે નબળાઈની જાણ માત્ર 3 મહિના પહેલા કરવામાં આવી હતી (આ વર્ષના મે મહિનાની શરૂઆતમાં), પરંતુ સંપૂર્ણ માહિતી અને જાહેરાત તાજેતરમાં જ પ્રકાશિત કરવામાં આવી હતી.

નબળાઈ અંગે, ઉલ્લેખ છે કે આ પહેલાથી મુક્ત થયેલ મેમરીના બ્લોકને ઍક્સેસ કરતી વખતે થાય છે, તે 5.10 શાખાથી શરૂ થતા Linux કર્નલોમાં પોતાને પ્રગટ કરે છે.

નબળાઈ વિશે CVE-2022-29582

આ નબળાઈ મુક્ત મેમરી ઍક્સેસ કરવા માટે પરવાનગી આપે છે io_flush_timeouts() ફંક્શનમાં સમયસમાપ્તિ સંભાળતી વખતે રેસની સ્થિતિના પરિણામે, જેe સમયસમાપ્ત એન્ટ્રી દૂર કરે છે સૂચિમાંથી અને તે સમયે સમયસમાપ્તિની રચના અને કાઢી નાખવાની ચકાસણી કર્યા વિના તેને રદ કરે છે.

io_uring નું અપડેટેડ સામાન્ય વર્ણન પહેલાથી જ અન્ય લોકો દ્વારા પ્રદાન કરવામાં આવ્યું છે. તેઓ તેને આપણા કરતા હજાર ગણું વધુ સારી રીતે સમજાવે છે, તેથી અમે ફક્ત સબસિસ્ટમને વધુ વિસ્તૃત રીતે આવરી લઈશું (આ ગ્રેપલ સિક્યુરિટી લેખ અને આ ફ્લેટ સિક્યુરિટી લેખ એક મહાન પરિચય માટે જુઓ).

વધુ મહત્વનું શું છે, opcode ફીલ્ડ નક્કી કરે છે કે કયા પ્રકારનું ઓપરેશન કરવું. દરેક "ઓપકોડ" માટે કે જેને તેની જરૂર હોય છે, fd ફીલ્ડ ફાઇલ વર્ણનકર્તાનો ઉલ્લેખ કરે છે કે જેના પર વિનંતી કરેલ I/O કરવા માટે. લગભગ તમામ સામાન્ય I/O સિસ્ટમ કોલ્સ (રીડ, સેન્ડટો, વગેરે) માં સમકક્ષ અસુમેળ ઓપકોડ હોય છે. દરેક ક્ષેત્ર કામગીરીના આધારે જુદી જુદી ભૂમિકાઓ લઈ શકે છે.

એકવાર SQ માંથી પુનઃપ્રાપ્ત કર્યા પછી, SQE ને struct io_kiocb (કર્નલ ઇનપુટ/આઉટપુટ કૉલ બેક) દ્વારા વર્ણવેલ આંતરિક રજૂઆતમાં રૂપાંતરિત કરવામાં આવે છે. આ ઑબ્જેક્ટ્સને સામાન્ય રીતે વિનંતીઓ તરીકે ઓળખવામાં આવે છે.

struct io_kiocb નો ઉપયોગ SQE "રેડી-ફોર-લૉન્ચ" ની સમકક્ષ તરીકે થાય છે જેના પર તે આધારિત છે, જેમાં કોઈપણ ફાઇલ વર્ણનકર્તાને ફાઇલ*s સ્ટ્રક્ચર કરવા માટે ઉકેલવામાં આવે છે, વપરાશકર્તા ઓળખપત્રો જોડાયેલ છે, વ્યક્તિત્વ (જેમાં કોરો ચાલશે), વગેરે .

વિનંતી કરેલ કામગીરી પૂર્ણ થયા પછી, તે પૂર્ણતા કતાર પર લખવામાં આવે છે (CQ) એક એન્ટ્રી જે SQE ને અનુરૂપ છે. આવી એન્ટ્રીને કમ્પ્લીશન ક્યુ એન્ટ્રી (CQE) કહેવામાં આવે છે અને તેમાં એરર કોડ અને પરિણામ મૂલ્ય જેવા ફીલ્ડ હોય છે. યુઝર સ્પેસ એપ્લિકેશન નવી એન્ટ્રીઓ માટે CQ નું મતદાન કરી શકે છે તે નિર્ધારિત કરવા માટે કે મોકલેલ SQE એ પ્રક્રિયા પૂર્ણ કરી છે અને તેનું પરિણામ શું છે.

તેવો ઉલ્લેખ છે ત્યાં કેટલાક દૃશ્યો છે જેમાં ઑબ્જેક્ટને બદલવું સરળ છે પ્રગતિ પર. પરંતુ ત્યાં બે મર્યાદાઓ છે:

  • LT'ને રેસ વિન્ડોમાં અસાઇન અને ઇનિશિયલાઈઝ કરવું પડશે. એટલે કે, એલટી રીલીઝ થયા પછી પરંતુ એલટીમાં એવા બિંદુ સુધી પહોંચતા પહેલા કે જે હવે એક્સેસ નથી.
  • LT' માત્ર અન્ય સ્ટ્રક્ટ io_kiocb ઑબ્જેક્ટ હોઈ શકે છે. હીપ આઇસોલેશનને કારણે, જ્યાં ઢગલામાંની વસ્તુઓને તેમના પ્રકાર પ્રમાણે અલગ કરવામાં આવે છે, રેસ વિન્ડોની અંદર તેમને અલગ પ્રકારના ઑબ્જેક્ટ તરીકે ફરીથી સોંપવું ખૂબ મુશ્કેલ છે.

સંશોધકોએ એક કાર્યાત્મક શોષણ તૈયાર કર્યું છે જેને તેની કામગીરી માટે વપરાશકર્તા ઓળખકર્તા નેમસ્પેસ (યુઝર નેમસ્પેસ) ના સમાવેશની જરૂર નથી અને જ્યારે કોઈ બિનપ્રાપ્તિહીત વપરાશકર્તા એક અલગ કન્ટેનરમાં શોષણ શરૂ કરે ત્યારે હોસ્ટને રૂટ એક્સેસ પ્રદાન કરી શકે છે.

અમારું શોષણ લક્ષ્ય કર્નલ વર્ઝન 5.10.90, વર્ઝન Google તે સમયે રિમોટલી ચાલી રહ્યું હતું. અમારે સર્વરના ચોક્કસ સ્પષ્ટીકરણો (4 Skylake Xeon cores @ 2.80Ghz, 16GiB RAM) સાથે અમારા શોષણને સમાયોજિત કરવું પડ્યું હતું, પરંતુ કેટલાક ટ્વિકિંગ સાથે, નબળા કર્નલ ચલાવતી કોઈપણ મશીન શોષણક્ષમ હોવી જોઈએ.

શોષણ nsjail પર્યાવરણમાં પણ કામ કરે છે ક્રોમિયમ OS પર આધારિત Google COS (કન્ટેનર ઑપ્ટિમાઇઝ્ડ OS) વિતરણ પર અલગ અને કોમ્પ્યુટ એન્જિન વર્ચ્યુઅલ મશીનો પર Google ક્લાઉડ પ્લેટફોર્મ પર ઉપયોગમાં લેવાય છે. શોષણ 5.10 થી 5.12 સુધી કર્નલ શાખાઓ સાથે કામ કરવા માટે રચાયેલ છે. છેલ્લે, તે ઉલ્લેખનીય છે કે 5.10.111, 5.15.34 અને 5.17.3 અપડેટ્સમાં એપ્રિલમાં સમસ્યા ઉકેલાઈ.

છેલ્લે, જો તમને નબળાઈ વિશે વધુ જાણવામાં રસ હોય, તો તમે બનાવેલ પ્રકાશનનો સંપર્ક કરી શકો છો નીચેની કડીમાં


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: AB ઈન્ટરનેટ નેટવર્ક્સ 2008 SL
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.