சான்றிதழ்களை செயலாக்கும் போது Mozilla NSS இல் குறியீடு செயல்படுத்தல் பாதிப்பு

மொஸில்லாவால் உருவாக்கப்பட்ட NSS (நெட்வொர்க் பாதுகாப்பு சேவைகள்) கிரிப்டோகிராஃபிக் லைப்ரரிகளில் ஒரு முக்கியமான பாதிப்பு (CVE-2021-43527) கண்டறியப்பட்டுள்ளது. DER (வேறுபடுத்தப்பட்ட குறியாக்க விதிகள்) குறியாக்க முறையைப் பயன்படுத்தி குறிப்பிடப்பட்ட DSA அல்லது RSA-PSS டிஜிட்டல் கையொப்பங்களைச் செயலாக்கும்போது, ​​இந்தப் பாதிப்பு தீங்கிழைக்கும் குறியீடு செயல்படுத்தப்படுவதற்கு வழிவகுக்கக்கூடும். BigSig என்ற குறியீட்டுப் பெயரைக் கொண்ட இந்தப் பிரச்சினை, NSS 3.73 மற்றும் NSS ESR 3.68.1 பதிப்புகளில் சரிசெய்யப்பட்டுள்ளது. விநியோகத் தொகுப்புகளுக்கான புதுப்பிப்புகள் இதற்குக் கிடைக்கின்றன. Debian, RHEL, Ubuntu, சூஸ், ஆர்ச் Linuxஜென்டூ, ஃப்ரீபிஎஸ்டி. ஃபெடோராவிற்கான புதுப்பிப்புகள் இன்னும் கிடைக்கவில்லை.

இந்தப் பிரச்சினை CMS, S/MIME, PKCS #7, மற்றும் PKCS #12 டிஜிட்டல் கையொப்பங்களைச் செயலாக்க NSS ஐப் பயன்படுத்தும் பயன்பாடுகளையோ அல்லது TLS, X.509, OCSP மற்றும் CRL செயல்படுத்தல்களில் சான்றிதழ்களைச் சரிபார்க்கும் போது அல்லது TLS, X.509, OCSP மற்றும் CRL செயல்படுத்தல்களில் சான்றிதழ்களைச் சரிபார்க்கும் போது அல்லது NSS கையொப்பங்களைச் சரிபார்க்க NSS CERT_VerifyCertificate() அழைப்பைப் பயன்படுத்தும் மின்னஞ்சல் கிளையண்டுகள் மற்றும் PDF பார்வையாளர்களையோ பாதிக்கும்.

LibreOffice, Evolution மற்றும் Evince ஆகியவை பாதிக்கப்படக்கூடிய பயன்பாடுகளுக்கான எடுத்துக்காட்டுகளாகக் குறிப்பிடப்படுகின்றன. இந்தப் பிரச்சினை Pidgin, Apache OpenOffice, Suricata, Curl, Chrony, Red Hat Directory Server, Red Hat Certificate System, Apache HTTP சேவையகத்திற்கான mod_nss, Oracle Communications Messaging Server மற்றும் Oracle Directory Server Enterprise Edition போன்ற திட்டங்களையும் பாதிக்கக்கூடும். இருப்பினும், NSS இன் ஒரு பகுதியாக இருக்கும் சரிபார்ப்புக்காக தனி mozilla::pkix நூலகத்தைப் பயன்படுத்தும் Firefox, Thunderbird மற்றும் Tor Browser ஆகியவற்றை இந்த பாதிப்பு பாதிக்காது. 2015 க்கு முன்பு NSS ஐப் பயன்படுத்தி பின்னர் BoringSSL க்கு மாறிய Chromium-அடிப்படையிலான உலாவிகள் (NSS உடன் குறிப்பாக தொகுக்கப்படாவிட்டால்) இந்த சிக்கலால் பாதிக்கப்படாது.

secvfy.c கோப்பிலிருந்து vfy_CreateContext செயல்பாட்டில் உள்ள சான்றிதழ் சரிபார்ப்புக் குறியீட்டில் உள்ள பிழையால் இந்த பாதிப்பு ஏற்படுகிறது. கிளையன்ட் சர்வரிலிருந்து சான்றிதழைப் படிக்கும்போதும் செயலாக்கத்தின் போதும் இந்தப் பிழை வெளிப்படுகிறது. சர்வர் கிளையன்ட் சான்றிதழ்கள். DER-குறியிடப்பட்ட டிஜிட்டல் கையொப்பத்தைச் சரிபார்க்கும்போது, ​​NSS கையொப்பத்தை ஒரு நிலையான அளவிலான இடையகமாக டிகோட் செய்து, இந்த இடையகத்தை PKCS #11 தொகுதிக்கு அனுப்புகிறது. மேலும் செயலாக்கத்தின் போது, ​​DSA மற்றும் RSA-PSS கையொப்பங்களின் அளவு தவறாகச் சரிபார்க்கப்படுகிறது, இதனால் டிஜிட்டல் கையொப்ப அளவு 16384 பிட்களைத் தாண்டினால் VFYContextStr கட்டமைப்பிற்கு ஒதுக்கப்பட்ட இடையக வழிதல் ஏற்படுகிறது (பஃபருக்கு 2048 பைட்டுகள் ஒதுக்கப்பட்டுள்ளன, ஆனால் பெரிய அளவிற்கு கையொப்பத்தின் திறன் சரிபார்க்கப்படவில்லை).

இந்த பாதிக்கப்படக்கூடிய குறியீடு 2003 ஆம் ஆண்டு முதல் கண்டுபிடிக்கப்பட்டுள்ளது, ஆனால் 2012 இல் மறுசீரமைப்பு செய்யப்படும் வரை அது அச்சுறுத்தலை ஏற்படுத்தவில்லை. அதே பிழை 2017 இல் RSA-PSS ஆதரவை செயல்படுத்தும்போது அறிமுகப்படுத்தப்பட்டது. டிஜிட்டல் கையொப்பம் சரிபார்க்கப்படுவதற்கு முன்பு நிரம்பி வழிவதால், தேவையான தரவைப் பெற குறிப்பிட்ட விசைகளின் வள-தீவிர உருவாக்கம் தாக்குதலுக்கு தேவையில்லை. தரவின் எல்லைக்கு அப்பாற்பட்ட பகுதி செயல்பாட்டு சுட்டிகளைக் கொண்ட நினைவகப் பகுதிக்கு எழுதப்படுகிறது, இது வேலை செய்யும் சுரண்டல்களை உருவாக்குவதை எளிதாக்குகிறது.

புதிய தெளிவற்ற சோதனை முறைகளைப் பரிசோதிக்கும் போது கூகிள் ப்ராஜெக்ட் ஜீரோவின் ஆராய்ச்சியாளர்களால் இந்த பாதிப்பு கண்டறியப்பட்டது, மேலும் பரவலாக சோதிக்கப்பட்ட, நன்கு அறியப்பட்ட திட்டத்தில் அற்பமான பாதிப்புகள் நீண்ட காலத்திற்கு எவ்வாறு கண்டறியப்படாமல் இருக்கும் என்பதற்கான ஒரு நல்ல நிரூபணமாகும்:

  • NSS குறியீடு நவீன சோதனை மற்றும் பிழை பகுப்பாய்வு முறைகளைப் பயன்படுத்தும் அனுபவம் வாய்ந்த பாதுகாப்புக் குழுவால் பராமரிக்கப்படுகிறது. NSS இல் உள்ள பாதிப்புகளைக் கண்டறிவதற்கு பல திட்டங்கள் கணிசமான வெகுமதிகளை வழங்குகின்றன.
  • கூகிளின் oss-fuzz முயற்சியில் இணைந்த முதல் திட்டங்களில் NSS ஒன்றாகும், மேலும் Mozillaவின் libFuzzer-அடிப்படையிலான fuzzing சோதனை அமைப்பிலும் சோதிக்கப்பட்டது.
  • 2008 முதல் கவர்ட்டி சேவையால் கண்காணிக்கப்படுவது உட்பட, பல்வேறு நிலையான பகுப்பாய்விகளால் நூலகக் குறியீடு மீண்டும் மீண்டும் சரிபார்க்கப்பட்டது.
  • 2015 வரை, NSS கூகிள் குரோமில் பயன்படுத்தப்பட்டது மற்றும் கூகிள் குழுவால் சுயாதீனமாக சோதிக்கப்பட்டது (2015 முதல், குரோம் போரிங்எஸ்எஸ்எல்லுக்கு மாறிவிட்டது, ஆனால் NSS-அடிப்படையிலான போர்ட்டிற்கான ஆதரவு இன்னும் உள்ளது).

இந்தப் பிரச்சினையை இவ்வளவு காலமாகக் கண்டறியாமல் வைத்திருந்த முக்கியப் பிரச்சினைகள்:

  • NSS மாடுலர் லைப்ரரி மற்றும் ஃபஸ்ஸிங் சோதனைகள் ஒட்டுமொத்தமாக நடத்தப்படவில்லை, ஆனால் தனிப்பட்ட கூறுகளின் மட்டத்தில் நடத்தப்பட்டன. எடுத்துக்காட்டாக, DER டிகோடிங் மற்றும் சான்றிதழ் செயலாக்க குறியீடு தனித்தனியாக சோதிக்கப்பட்டன. ஃபஸ்ஸிங் பாதிப்பை வெளிப்படுத்தும் ஒரு சான்றிதழை எளிதாக உருவாக்கியிருக்கலாம், ஆனால் அதன் சரிபார்ப்பு சரிபார்ப்புக் குறியீட்டை அடையவில்லை, மேலும் சிக்கல் கண்டறியப்படாமல் இருந்தது.
  • ஃபஸ்ஸிங் சோதனையின் போது, ​​NSS இல் அத்தகைய வரம்புகள் இல்லாவிட்டாலும், கடுமையான வெளியீட்டு அளவு வரம்புகள் (10000 பைட்டுகள்) அமைக்கப்பட்டன (சாதாரண செயல்பாட்டில் பல கட்டமைப்புகள் 10000 பைட்டுகளை விட பெரியதாக இருக்கலாம், எனவே சிக்கல்களைக் கண்டறிய ஒரு பெரிய உள்ளீட்டு தரவு அளவு தேவைப்பட்டது). முழு அளவிலான சோதனைக்கு, வரம்பு 224-1 பைட்டுகளாக (16 MB) இருக்க வேண்டும், இது TLS இல் அனுமதிக்கப்பட்ட அதிகபட்ச சான்றிதழ் அளவிற்கு ஒத்திருக்கிறது.
  • ஃபஸ்ஸிங் சோதனையின் குறியீட்டு கவரேஜ் பற்றிய தவறான கருத்து. பாதிக்கப்படக்கூடிய குறியீடு தீவிரமாக சோதிக்கப்பட்டது, ஆனால் தேவையான உள்ளீட்டு தரவை உருவாக்க முடியாத ஃபஸ்ஸர்களைப் பயன்படுத்தியது. எடுத்துக்காட்டாக, tls_server_target ஃபஸ்ஸர் முன் வரையறுக்கப்பட்ட ஆயத்த சான்றிதழ்களின் தொகுப்பைப் பயன்படுத்தியது, இது சான்றிதழ் சரிபார்ப்பு குறியீட்டை TLS செய்திகள் மற்றும் நெறிமுறை நிலை மாற்றங்களுக்கு மட்டுமே மட்டுப்படுத்தியது.

ஆதாரம்: opennet.ru

DDoS பாதுகாப்பு, VPS VDS சர்வர்கள் கொண்ட தளங்களுக்கு நம்பகமான ஹோஸ்டிங் வாங்கவும் 🔥 DDoS பாதுகாப்புடன் கூடிய நம்பகமான இணையதள ஹோஸ்டிங், VPS, VDS சர்வர்களை வாங்குங்கள் | ProHoster