یک آسیبپذیری امنیتی جدید در استراتژی “Sign in with Apple” در کتابخانه pow-auth Assent شناسایی شده است که به مهاجمان اجازه میدهد بدون نیاز به احراز هویت، هویت کاربران دیگر را جعل کنند.
جزئیات فنی آسیبپذیری
این نقص امنیتی از نوع “Acceptance of Extraneous Untrusted Data With Trusted Data” است. در این سناریو، یک مهاجم از راه دور (Remote Attacker) میتواند با دستکاری پارامتر user در فرایند authorization callback، خود را به جای یک کاربر معتبر جا بزند.
مکانیزم حمله به این صورت است که شرکت اپل، نام کاربر را در یک پارامتر فرم (user form parameter) به نقطه پایانی (endpoint) کالبک ارسال میکند. از آنجایی که این پارامتر توسط مرورگر ارسال میشود، تحت کنترل کلاینت (Client-controlled) قرار دارد. تابع Assent.Strategy.Apple.callback/2 در فایل lib/assent/strategies/apple.ex این پارامتر را رمزگشایی کرده و سپس با دادههای موجود ادغام (merge) میکند که منجر به نفوذ و جعل هویت میشود.