NPM میں کمزوری جو سسٹم پر فائلوں کو اوور رائٹنگ کا باعث بنتی ہے۔

GitHub نے tar اور @npmcli/arborist پیکجوں میں سات کمزوریوں کی تفصیلات ظاہر کی ہیں، جو tar archives کے ساتھ کام کرنے اور Node.js میں انحصار کے درخت کا حساب لگانے کے لیے فنکشن فراہم کرتے ہیں۔ کمزوریاں، خاص طور پر ڈیزائن کردہ آرکائیو کو پیک کرتے وقت، فائلوں کو روٹ ڈائرکٹری کے باہر اوور رائٹ کرنے کی اجازت دیتی ہیں جس میں پیک کھولنا ہوتا ہے، جہاں تک موجودہ رسائی کے حقوق اجازت دیتے ہیں۔ مسائل سسٹم پر صوابدیدی کوڈ کے نفاذ کو منظم کرنا ممکن بناتے ہیں، مثال کے طور پر، ~/.bashrc یا ~/.profile میں کمانڈز شامل کر کے جب کوئی آپریشن کسی غیر مراعات یافتہ صارف کے ذریعے کیا جاتا ہے، یا سسٹم فائلوں کو تبدیل کر کے جڑ

کمزوریوں کا خطرہ اس حقیقت سے بڑھ جاتا ہے کہ این پی ایم پیکیج مینیجر میں این پی ایم پیکجوں کے ساتھ آپریشنز کرتے وقت پریشانی کا کوڈ استعمال کیا جاتا ہے، جس کی وجہ سے ریپوزٹری، پروسیسنگ میں خاص طور پر ڈیزائن کردہ این پی ایم پیکیج رکھ کر صارفین پر حملے کو منظم کرنا ممکن ہوتا ہے۔ جس میں سے حملہ آور کے کوڈ کو سسٹم پر لاگو کرے گا۔ حملہ اس وقت بھی ممکن ہے جب پیکجز کو "-ignore-scripts" موڈ میں انسٹال کر رہے ہوں، جو بلٹ ان اسکرپٹس پر عمل درآمد کو غیر فعال کر دیتا ہے۔ مجموعی طور پر، npm سات میں سے چار کمزوریوں (CVE-2021-32804، CVE-2021-37713، CVE-2021-39134 اور CVE-2021-39135) کو متاثر کرتا ہے۔ پہلے دو مسائل ٹار پیکیج سے متعلق ہیں، اور باقی دو مسائل @npmcli/arborist پیکیج سے متعلق ہیں۔

سب سے خطرناک کمزوری، CVE-2021-32804، اس حقیقت کی وجہ سے ہے کہ ٹار آرکائیو میں متعین مطلق راستوں کو صاف کرتے وقت، دہرائے جانے والے "/" حروف کو غلط طریقے سے پروسیس کیا جاتا ہے- صرف پہلا کردار ہٹا دیا جاتا ہے، جبکہ باقی رہ جاتے ہیں۔ مثال کے طور پر، پاتھ "/home/user/.bashrc" کو "home/user/.bashrc" اور پاتھ "//home/user/.bashrc" کو "/home/user/.bashrc" میں تبدیل کر دیا جائے گا۔ دوسری کمزوری، CVE-2021-37713، صرف ونڈوز پلیٹ فارم پر ظاہر ہوتی ہے اور اس کا تعلق متعلقہ راستوں کی غلط صفائی سے ہے جس میں ایک غیر محدود ڈرائیو کریکٹر ("C:some\path") اور پچھلی ڈائرکٹری پر واپس جانے کا ایک سلسلہ شامل ہوتا ہے ( "C:../foo")۔

خطرات CVE-2021-39134 اور CVE-2021-39135 @npmcli/arborist ماڈیول کے لیے مخصوص ہیں۔ پہلا مسئلہ صرف ان سسٹمز پر ظاہر ہوتا ہے جو فائل سسٹم (macOS اور Windows) میں حروف کے معاملے میں فرق نہیں کرتے ہیں، اور آپ کو انحصار کے درمیان دو ماڈیول '"foo" کی وضاحت کرکے فائل سسٹم کے من مانی حصے میں فائلیں لکھنے کی اجازت دیتا ہے۔ : "file:/some/path"' اور 'FOO: "file:foo.tgz"'، جس کی پروسیسنگ /some/path ڈائریکٹری کے مواد کو حذف کرنے اور foo.tgz کے مواد کو اس پر لکھنے کا باعث بنے گی۔ دوسرا مسئلہ علامتی لنک ہیرا پھیری کے ذریعے فائلوں کو اوور رائٹ کرنے کی اجازت دیتا ہے۔

کمزوریوں کو Node.js ریلیز 12.22.6 اور 14.17.6، npm CLI 6.14.15 اور 7.21.0، اور انفرادی tar پیکیج 4.4.19، 5.0.11، اور 6.1.10 میں حل کیا جاتا ہے۔ "بگ باؤنٹی" اقدام کے حصے کے طور پر مسئلے کے بارے میں معلومات حاصل کرنے کے بعد، GitHub نے محققین کو $14500 ادا کیے اور ذخیرے کے مواد کو اسکین کیا، جس میں کمزوریوں سے فائدہ اٹھانے کی کوششوں کو ظاہر نہیں کیا۔ ان مسائل سے بچاؤ کے لیے، GitHub نے NPM پیکجز کی اشاعت پر بھی پابندی لگا دی ہے جس میں علامتی روابط، ہارڈ لنکس، اور ریپوزٹری کے مطلق راستے شامل ہیں۔

ماخذ: opennet.ru

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