در ابزار
گزینه "pwfeedback" نمایش کاراکتر "*" را پس از هر کاراکتر وارد شده هنگام وارد کردن رمز عبور فعال می کند. به خاطر اینکه
ماهیت مشکل این است که هنگام استفاده از کاراکتر ویژه ^U (پاک کردن خط) در حین ورودی و اگر عملیات نوشتن ناموفق باشد، کد مسئول پاک کردن کاراکترهای خروجی "*" داده ها را در اندازه بافر موجود بازنشانی می کند، اما این کار را انجام نمی دهد. نشانگر را به موقعیت فعلی مقدار اولیه در بافر برگردانید. یکی دیگر از عوامل موثر در بهره برداری، عدم غیرفعال کردن خودکار حالت "pwfeedback" زمانی است که داده ها نه از ترمینال، بلکه از طریق جریان ورودی می رسند (این نقص اجازه می دهد تا شرایطی را برای رخ دادن خطای ضبط ایجاد کند، به عنوان مثال، در سیستم هایی با یک طرفه
از آنجایی که یک مهاجم کنترل کاملی بر روی بازنویسی داده ها در پشته دارد، ایجاد یک اکسپلویت که به او اجازه می دهد امتیازات خود را به روت افزایش دهد دشوار نیست. این مشکل می تواند توسط هر کاربری، بدون توجه به مجوزهای sudo یا تنظیمات خاص کاربر در sudoers مورد سوء استفاده قرار گیرد. برای جلوگیری از این مشکل، باید مطمئن شوید که هیچ تنظیم "pwfeedback" در /etc/sudoers وجود ندارد و در صورت لزوم، آن را غیرفعال کنید ("Defaults !pwfeedback"). برای بررسی اینکه آیا مشکلی وجود دارد، می توانید کد زیر را اجرا کنید:
$ perl -e "print(("A" x 100 . "\x{00}") x 50)" | sudo -S id
رمز عبور: خطای بخش بندی
منبع: opennet.ru