XSS уразливість в WordPress 3.0.1

23:50 14.08.2010

Нещодавно була оприлюднена Cross-Site Scripting уразливість в WordPress. Уразливі WordPress 3.0.1 та попередні версії.

Використовуючи дану уразливість можна провести XSS атаку на адміна. Але зазначу, що для атаки потрібно знати токен (_wpnonce), призначений для захисту від CSRF атак (який є в WP 2.9.2 та попередніх версіях), тому реально використати дану XSS буде важко.

До речі, під час проекту День багів в WordPress 2 я розповів про уразливість в плагіні WordPress Database Backup, що потенційно може працювати з WP 3.0 та 3.0.1, тому вона також може торкнутися користувачів останньої версії движка.

  • WordPress 3.0.1 - Cross Site Scripting Issue (деталі)

Зазначу, що версії WordPress 2.0.x невразливі, бо в них немає даного функціоналу. Зате, як я перевірив, вразливі версії 2.7 - 2.9.2 (так само як і у випадку версій 3.0 та 3.0.1). Також вразлива WP 2.6.2, але там атаку потрібно робити по іншому (зовсім інший запит), причому можливий тільки POST запит (при тому, що в WP 2.7 і вище можливі як GET, так і POST запити). В WP 2.6.x даний функціонал по іншому реалізований. Додам, що досліджуючи дану дірку я виявив багато інших дірок в цьому функціоналі, про що я напишу окремо ;-) .

Також зазначу, що дослідник який знайшов цю дірку заявив, що атака відбувається через параметер checked[0] в скрипті wp-admin/plugins.php, коли параметер action рівний delete-selected. Як я перевірив, XSS код можна вказувати як в checked[0], так і в checked[1] і т.д., а також в checked[]. До того ж, в WP 2.8 - 2.9.2, 3.0 та 3.0.1 можна вказувати як action рівний delete-selected, так і action2 рівний delete-selected, а в версіях 2.7.х можна використати тільки action.


Leave a Reply

You must be logged in to post a comment.