در تمامی نسخههای افزونه The Academy LMS (سازنده دورههای AI، آزمونها و گواهینامههای یادگیری الکترونیکی) برای وردپرس تا نسخه 4.0.3، یک آسیبپذیری از نوع افزایش سطح دسترسی (Privilege Escalation) شناسایی شده است.
جزئیات فنی
این نقص امنیتی در تابع add_child() ریشه دارد. زمانی که این تابع فراخوانی میشود، عملیات add_role('academy_student') روی هر حسابی که از طریق پارامتر email توسط مهاجم ارسال شده باشد، اجرا میگردد. مشکل اصلی این است که این تخصیص نقش، پیش از آنکه تابع Store::link() رابطه بین سرپرست و فرزند (guardian-ward relationship) را تایید کند، صورت میگیرد.
علاوه بر این، در صورتی که تابع Store::link() با خطا مواجه شده و یک WP_Error بازگرداند، سیستم قادر نیست تغییرات اعمال شده در نقش کاربر را به حالت قبل بازگرداند (Rollback). این نقص به مهاجم اجازه میدهد تا سطح دسترسی حسابهای کاربری را به صورت غیرمجاز ارتقا دهد.