یک نقص امنیتی با شدت بالا در اسکنر آسیب پذیری Nuclei شناسایی شده است که در صورت اکسپلویت موفق، میتواند به مهاجمان اجازه دهد تا بررسی و تایید امضای تمپلیتها را دور بزنند و کد مخرب خود را اجرا کنند.
Nuclei یک اسکنر آسیب پذیری است که به منظور شناسایی نقصهای امنیتی در اپلیکیشنهای جدید، زیرساختها، پلتفرمهای ابری و شبکهها طراحی شده است. موتور اسکن Nuclei از فایلهای YAML برای ارسال درخواستهای خاص به منظور تعیین وجود نقص استفاده میکند.
این آسیب پذیری که با شناسه CVE-2024-43405 (امتیاز CVSS 7.4) دنبال میشود، تمام نسخههای ۳.۰.۰ تا پیش از ۳.۳.۲ اسکنر Nuclei را تحت تأثیر قرار میدهد.
این آسیب پذیری ناشی از ناهماهنگی در نحوه پردازش کاراکترهای خط جدید بین فرآیند تأیید امضا و تجزیهکننده YAML است. مهاجمان میتوانند با استفاده از این ناهماهنگی، محتوای مخربی را به تمپلیتها تزریق کنند، در حالی که امضای بخش معتبر تمپلیت همچنان صحیح باقی میماند. این امر به آنها اجازه میدهد تا کد مخرب را در سیستم قربانی اجرا کنند.
به گفته شرکت امنیتی ابری Wiz که کاشف CVE-2024-43405 است، این آسیب پذیری ریشه در فرآیند تأیید امضای تمپلیت دارد که برای اطمینان از یکپارچگی تمپلیتهای موجود در مخزن رسمی تمپلیتها استفاده میشود. هکرها با ایجاد تمپلیتهای مخرب میتوانند کد دلخواه را اجرا نمایند و به دادههای حساس میزبان دسترسی پیدا کنند.
از آنجایی که این تأیید امضا در حال حاضر تنها روش موجود برای اعتبارسنجی تمپلیتهای Nuclei است، نشان دهنده یک نقطه ضعف بزرگ در این اسکنر میباشد. علت آن نیز از استفاده از regex برای اعتبار سنجی امضا و تضاد میان دو تجزیه کننده یعنی regex و YAML است.
از این رو، مهاجم میتواند یک “r\” را معرفی کند. کاراکتر “r\” به گونهای است که از تأیید امضای مبتنی بر regex عبور میکند و توسط تجزیهگر YAML بهعنوان شکستگی خط تفسیر میشود!
Wiz در چهاردهم آگوست ۲۰۲۴ این آسیب پذیری را به ProjectDiscovery گزارش کرد و در چهارم سپتامبر در نسخه ۳.۳.۲ اسکنر Nuclei برطرف شد.