તેઓએ Linux exFAT ડ્રાઈવરમાં નબળાઈ શોધી કાઢી 

નબળાઈ

જો શોષણ કરવામાં આવે તો, આ ખામીઓ હુમલાખોરોને સંવેદનશીલ માહિતીની અનધિકૃત ઍક્સેસ મેળવવા અથવા સામાન્ય રીતે સમસ્યાઓનું કારણ બની શકે છે.

થોડા દિવસો પહેલા આ સમાચાર સામે આવ્યા હતા એક નબળાઈ મળી આવી હતી (પહેલેથી CVE-2023-4273 હેઠળ સૂચિબદ્ધ) exFAT ફાઇલ સિસ્ટમ માટે ડ્રાઇવરમાં Linux કર્નલમાં પૂરું પાડવામાં આવે છે.

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

સમસ્યા એ છે: કોડ ધારે છે કે ફાઇલનામ ઇનપુટ્સ હંમેશા 255 અક્ષરોને બંધબેસતા એક સંકલિત ફાઇલનામ ઉત્પન્ન કરે છે (મર્યાદા 258 અક્ષરોની છે, જેમાં નલ બાઇટ માટે 1 વધારાના અક્ષર અને રૂપાંતરણ માટે 2 વધારાના અક્ષરોનો સમાવેશ થાય છે). ડિરેક્ટરી એન્ટ્રીઓના સમૂહમાં ફાઇલનામના 255 કરતાં વધુ અક્ષરોનો સંગ્રહ કરવો એ ફાઇલસિસ્ટમ ફોર્મેટનું ઉલ્લંઘન છે, પરંતુ તે Linux ડ્રાઇવર દ્વારા સ્વીકારવામાં આવે છે, પણ સ્ટેક ઓવરફ્લોનું કારણ બને છે (કારણ કે ફાઇલનામ સ્ટેક દ્વારા ફાળવવામાં આવેલા ચલમાં જોડાયેલું છે).

નબળાઈ વિશે, તે ઉલ્લેખિત છે કે, આ અનેs કદ તપાસ નિષ્ફળતા કારણે શોષણ સ્ટેક-ફાળવેલ બફરમાં ફાઇલનામની નકલ કરવાથી કર્નલ સ્ટેક ઓવરફ્લો થાય છે જો ખૂબ લાંબુ ફાઇલનામ પૂરું પાડવામાં આવે જે 255 અક્ષરોની ફાઇલસિસ્ટમ મર્યાદા કરતાં વધી જાય.

exfat_extract_uni_name() ફંક્શન એકવાર નલ કેરેક્ટર (0x0000) સામે આવે તે પછી ગંતવ્ય બફરમાં અક્ષરોની નકલ કરવાનું બંધ કરે છે અને કૉપિ કરેલા અક્ષરોની સંખ્યા પરત કરે છે. પરંતુ કોલર વળતર મૂલ્યને અવગણે છે અને આગલા પુનરાવર્તન માટે પોઇન્ટર 15 અક્ષરો (30 બાઇટ્સ) આગળ વધે છે. તેથી, એક પુનરાવૃત્તિમાં 14 અક્ષરો અથવા 28 બાઇટ્સ છોડવા (અકબંધ છોડવું) શક્ય છે. 

નબળાઇ લાંબા નામ પુનઃનિર્માણ કરે છે તે કાર્યમાં હાજર છે ડાયરેક્ટરી ઇન્ડેક્સમાંથી ફાઇલ નામના ભાગો સાથેના રેકોર્ડ્સને ચક્રીય રીતે વાંચવા અને પરિણામી નામના ભાગોને અંતિમ લાંબા નામમાં મર્જ કરવા.

તે ફંક્શન માટેના કોડમાં માપની તપાસ નામના ભાગ સાથેની દરેક એન્ટ્રીની તુલનામાં કરવામાં આવી હતી, પરંતુ અંતિમ નામને આવરી લેવામાં આવ્યું ન હતું (ઉદાહરણ તરીકે, નામને 100 ભાગોમાં વિભાજિત કરી શકાય છે અને બફરમાં 1500 અક્ષરોને બદલે 258 અક્ષરો સુધી પહોંચી શકાય છે. ).

તપાસકર્તા જેમણે નબળાઈ શોધી કાઢી પ્રોટોટાઇપ શોષણ તૈયાર કરવામાં સક્ષમ હતું જે તમને સિસ્ટમ પર તમારા વિશેષાધિકારો વધારવા માટે પરવાનગી આપે છે. જ્યારે વર્ચ્યુઅલબોક્સ વર્ચ્યુઅલ મશીન પર પરીક્ષણ કરવામાં આવે છે, ત્યારે શોષણ 100% સમય કામ કરે છે, પરંતુ જ્યારે હાર્ડવેરની ટોચ પર ચાલતા સામાન્ય વાતાવરણમાં ચલાવવામાં આવે છે, ત્યારે તે ટ્રિગર થવાની સંભાવના લગભગ 50% સુધી ઘટી જાય છે.

ખાસ કરીને, માય એક્સપ્લોઈટ નલ-ટર્મિનેટેડ સ્ટ્રિંગ પર સ્ટેક-એલોકેટેડ પોઈન્ટરને ઓવરરાઈટ કરે છે, તેથી આ સ્ટ્રિંગમાં ટર્મિનેટિંગ નલ કેરેક્ટર ઉમેરવાનો નીચેનો પ્રયાસ વાસ્તવમાં આદિમ બની જાય છે "હુમલાખોર દ્વારા પસંદ કરાયેલ મેમરીના સ્થાન પર નલ બાઈટ લખો.

તેવો પણ ઉલ્લેખ છે નબળાઈનો ઉપયોગ UEFI સિક્યોર બૂટ મોડમાં બુટ કરાયેલા કર્નલ સાથે સમાધાન કરવા માટે થઈ શકે છે., કારણ કે તે ઉલ્લેખ કરે છે કે એક સંવેદનશીલ કર્નલ ધરાવતી ઇમેજ, અનુરૂપ init સ્ક્રિપ્ટ (અને શોષણ, અલબત્ત), જે વાસ્તવિક ઓપરેટિંગ સિસ્ટમ પહેલા બુટ થાય છે, તેને બુટ કરી શકાય તેવી ડ્રાઇવ પર મૂકવામાં આવે છે. જ્યારે બુટ થાય છે, ત્યારે આ ઈમેજ દૂષિત (અને સહી વગરનું) કર્નલ મોડ્યુલ લોડ કરે છે, જે કર્નલ મોડ પર તેનું નિયંત્રણ સ્થાપિત કરે છે અને પછી વાસ્તવિક ઓપરેટિંગ સિસ્ટમ પર સ્વિચ કરે છે (ઉદાહરણ તરીકે, kexec કૉલનો ઉપયોગ કરીને).

છેલ્લે તે ઉલ્લેખનીય છે કે સમસ્યા Linux ના સંસ્કરણોમાં ઠીક કરવામાં આવી હતી જે હજી પણ સપોર્ટેડ છે. નબળાઈના ખુલાસાના સમયે, સૌથી વર્તમાન Linux કર્નલ સંસ્કરણ Linux સંસ્કરણ 6.4.10 હતું, પરંતુ નવા સંસ્કરણ 6.5માં પહેલેથી જ સુધારો છે.

વિવિધ વિતરણોમાં ઉકેલને ટ્રૅક કરવામાં રસ ધરાવતા લોકો માટે, તેઓ નીચેના પૃષ્ઠો પરથી આમ કરી શકે છે: ડેબિયનઉબુન્ટુ, આરએચએલSUSE ફેડોરા.

જો તમે છો તેના વિશે વધુ જાણવામાં રસ છે, તમે વિગતો ચકાસી શકો છો નીચેની કડી


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

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

*

*

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