XFS میں کمزوری جو خام بلاک ڈیوائس ڈیٹا کو پڑھنے کی اجازت دیتی ہے۔

XFS فائل سسٹم کوڈ میں ایک کمزوری (CVE-2021-4155) کی نشاندہی کی گئی ہے جو ایک مقامی غیر مراعات یافتہ صارف کو بلاک ڈیوائس سے براہ راست غیر استعمال شدہ بلاک ڈیٹا کو پڑھنے کی اجازت دیتا ہے۔ 5.16 سے پرانے لینکس کرنل کے تمام بڑے ورژن جو XFS ڈرائیور پر مشتمل ہیں اس مسئلے سے متاثر ہیں۔ فکس ورژن 5.16 کے ساتھ ساتھ کرنل اپڈیٹس 5.15.14، 5.10.91، 5.4.171، 4.19.225، وغیرہ میں بھی شامل تھا۔ ڈسٹری بیوشنز میں دشواری کو حل کرنے کے لیے جو اپ ڈیٹس تیار کی جا رہی ہیں ان کا پتہ ان صفحات پر لگایا جا سکتا ہے: Debian، RHEL، SUSE، Fedora، Ubuntu، Arch۔

کمزوری دو XFS-مخصوص ioctl(XFS_IOC_ALLOCSP) اور ioctl(XFS_IOC_FREESP) کے غلط رویے کی وجہ سے ہوتی ہے، جو کرنل وائیڈ فالوکیٹ() سسٹم کال کا ایک فنکشنل اینالاگ ہیں۔ کسی فائل کے سائز میں اضافہ کرتے وقت جو بلاک الائنڈ نہیں ہے، ioctls XFS_IOC_ALLOCSP/XFS_IOC_FREESP اگلی بلاک باؤنڈری تک ٹیل بائٹس کو صفر پر دوبارہ سیٹ نہیں کرتے ہیں۔ اس طرح، 4096 بائٹس کے معیاری بلاک سائز کے ساتھ XFS پر، حملہ آور ہر بلاک سے 4095 بائٹس تک کا سابقہ ​​تحریری ڈیٹا پڑھ سکتا ہے۔ ان علاقوں میں حذف شدہ فائلوں، ڈیفراگمنٹ شدہ فائلوں، اور ڈپلیکیٹ بلاکس والی فائلوں کا ڈیٹا ہوسکتا ہے۔

آپ ایک سادہ ایکسپلائیٹ پروٹو ٹائپ کا استعمال کرکے اپنے سسٹم کو مسئلہ کے لیے جانچ سکتے ہیں۔ اگر، حکموں کی مجوزہ ترتیب پر عمل کرنے کے بعد، شیکسپیئر کے متن کو پڑھنا ممکن ہے، تو FS ڈرائیور کمزور ہے۔ ابتدائی طور پر مظاہرے کے لیے XFS پارٹیشن کو نصب کرنے کے لیے روٹ مراعات کی ضرورت ہوتی ہے۔

چونکہ ioctl(XFS_IOC_ALLOCSP) اور ioctl(XFS_IOC_FREESP) عملی طور پر معیاری فالوکیٹ () کی طرح فعالیت میں ایک جیسے ہیں، اور ان کا فرق صرف ڈیٹا کا رساو ہے، ان کی موجودگی بیک ڈور کی طرح ہے۔ کرنل میں موجودہ انٹرفیس کو تبدیل نہ کرنے کی عمومی پالیسی کے باوجود، Linus کی تجویز پر، اگلے ورژن میں ان ioctls کو مکمل طور پر ہٹانے کا فیصلہ کیا گیا۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں