Security bug của WordPress 2.3.1
Bug này được Michael Brooks report trên SecurityFocus hôm 14.12, và hiện có hiệu lực trên phiên bản WordPress mới nhất - 2.3.1.
Bất kỳ ai cũng có thể lợi dụng bug này để xem các bài viết chưa được đăng trong một blog WordPress bất kỳ. Đó có thể là bài viết ở dạng Draft, Future hay Pending - tất cả đều hiện lên trước mắt chỉ bằng một query đơn giản dạng http://example.com/index.php/wp-admin/.
Gốc của bug nằm tại hàm is_admin(), được khai báo trong file wp-includes/query.php - dòng 34:
function is_admin () {
global $wp_query;
return ($wp_query->is_admin || (stripos($_SERVER['REQUEST_URI'], 'wp-admin/') !== false));
}
Hàm này sau được dùng để tạo query hiển thị các bài viết, vẫn file wp-includes/query.php - dòng 1172.
if ( is_admin() ) $where .= " OR post_status = 'future' OR post_status = 'draft' OR post_status = 'pending'";
Được biết bug này sẽ được fix trong phiên bản 2.3.2 sắp tới.
Bài viết được gửi hôm 28.12.07 · Mang các từ khóa code, security, wordpress
Bài viết liên quan:
Gyokujo gửi hôm 30.12.07 lúc 9:32 am #
vừa cập nhật 2.3.2 xong, mới ra được 11h ^^
QAD gửi hôm 30.12.07 lúc 10:00 am #
ừ, tớ cũng vừa cập nhật 2.3.2 rồi. ^^