Уцечка БД у WordPress-дадатку UpdraftPlus, які налічвае 3 млн установак

У WordPress-дадатку UpdraftPlus, які мае больш за 3 млн актыўных установак, выяўлена небяспечная ўразлівасць (CVE-2022-0633), якая дазваляе іншаму карыстачу загрузіць копію базы дадзеных сайта, у якой акрамя кантэнту змяшчаюцца параметры ўсіх карыстальнікаў і хэшы пароляў. Праблема ўхіленая ў выпусках 1.22.3 і 2.22.3, якое рэкамендуецца як мага хутчэй усталяваць усім карыстачам UpdraftPlus.

UpdraftPlus падаецца як найболей папулярны дадатак для стварэння рэзервовых дзід сайтаў, якія працуюць пад кіраваннем платформы WordPress. З-за некарэктнай праверкі правоў доступу дадатак дазваляла загрузіць рэзервовую копію сайта і звязаную з ёй базу дадзеных не толькі адміністратарам, але і любому зарэгістраванаму на сайце карыстальніку, напрыклад, які мае статус падпісчыка.

Для загрузкі рэзервовых копій у UpdraftPlus выкарыстоўваецца ідэнтыфікатар, які генеруецца на аснове часу стварэння рэзервовай копіі і выпадковай паслядоўнасці (nonce). Праблема ў тым, што з-за адсутнасці належных праверак у апрацоўшчыку heartbeat-запытаў WordPress, пры дапамозе спецыяльна аформленага запыту любы карыстач можа атрымаць інфармацыю аб апошняй рэзервовай копіі, якая ў тым ліку ўключае звесткі аб часе і прывязанай выпадковай паслядоўнасці.

Далей на аснове атрыманай інфармацыі можна сфарміраваць ідэнтыфікатар і загрузіць рэзервовую копію, скарыстаўшыся метадам загрузкі па email. Выкарыстоўваная пры дадзеным метадзе функцыя maybe_download_backup_from_email патрабуе звароту да старонкі options-general.php, даступнай толькі адміністратару. Тым не менш, атакавалы можа абыйсці дадзенае абмежаванне праз спуфінг выкарыстоўванай пры праверцы зменнай $pagenow і адпраўку запыту праз службовую старонку, якая дапускае зварот непрывілеяваных карыстачоў. Напрыклад, можна звярнуцца праз старонку адпраўкі паведамлення адміністратару, даслаўшы запыт у выглядзе «wp-admin/admin-post.php/%0A/wp-admin/options-general.php?page=updraftplus».

Крыніца: opennet.ru

Дадаць каментар