needhelp
← Back to blog

ssh-keysign-pwn: ptrace লজিক বাগের মাধ্যমে রুট-মালিকানাধীন ফাইল পড়া

by xingwangzhe
Linux
Kernel
Security
Qualys
ptrace
CVE

ssh-keysign-pwn: কার্নেলের __ptrace_may_access() ফাংশনে ছয় বছরের পুরনো লজিক বাগ, Qualys-এর রিপোর্ট এবং লিনাস টরভাল্ডস ১৪ মে, ২০২৬-এ প্যাচ করেছেন। আনপ্রিভিলেজড ব্যবহারকারীরা SSH হোস্ট প্রাইভেট কী এবং /etc/shadow সহ রুট-মালিকানাধীন ফাইল পড়তে পারে।

আরেকটি

মে ২০২৬ লিনাক্স কার্নেলের জন্য সহনশীল ছিল না। Dirty Frag, Fragnesia, এবং এখন — ssh-keysign-pwn — ১৪ মে Qualys-এর দ্বারা প্রকাশিত এবং একই দিনে লিনাস টরভাল্ডস ফিক্স করেছেন।

এটি “পেজ ক্যাশে-এ কিছু কপি করো” পরিবারের থেকে ভিন্ন। এটি __ptrace_may_access()-এ একটি বিশুদ্ধ লজিক বাগ।

এটি কীভাবে কাজ করে

বাগটি __ptrace_may_access()-এ বাস করে। এই ফাংশনটি প্রক্রিয়া অন্তর্দর্শনের গেটকিপার — এটি পরীক্ষা করে যে একটি প্রক্রিয়া অন্য প্রক্রিয়ার অবস্থায় ঘাঁটা ঘাঁটি করার অনুমতি পায় কিনা।

একটি স্পেশাল কেস আছে: যখন task->mm == NULL (লক্ষ্য প্রক্রিয়ার কোনো মেমোরি ডেসক্রিপ্টর নেই), ফাংশন ডাম্পএবল চেক পুরোপুরি স্কিপ করে

এটি একটি টেক্সটবুক TOCTOU রেস, কিন্তু উইন্ডোটি যথেষ্ট প্রশস্ত যে PoC ১০০-২০০০ চেষ্টায় সফল হয়।

এক্সপ্লয়েট টার্গেট

sshkeysign_pwnssh-keysign টার্গেট করে, একটি হেল্পার বাইনারি যা হস্ট অথেনটিকেশন চ্যালেঞ্জ সাইন করে।

chage_pwnchage -l <user> টার্গেট করে।

টাইমলাইন

তারিখ ঘটনা
~২০২০ Jann Horn FD-থেফট প্যাটার্ন শনাক্ত করে (প্যাচ মার্জ হয়নি)
২০২৬-০৫-১৪ Qualys দুর্বলতা রিপোর্ট করে; লিনাস ফিক্স কমিট করে
২০২৬-০৫-১৪ _SiCk GitHub-এ PoC এক্সপ্লয়েট প্রকাশ করে

ফিক্স

লিনাস কমিট 31e62c2ebbfd হিসাবে ফিক্স কমিট করেছেন। প্যাচটি mm == NULL কেসটি সঠিকভাবে হ্যান্ডেল করতে ptrace আচরণ অ্যাডজাস্ট করে।

এটি ২০২৬ সালের মে মাসে তৃতীয় বড় লিনাক্স কার্নেল দুর্বলতা, Copy Fail এবং Dirty Frag-এর পরে।

Share this page