Nguy cơ bảo mật của WordPress Astra Theme
WordPress Astra Theme, một trong những chủ đề phổ biến nhất trên thế giới với hơn 1 triệu lượt cài đặt, đã quietly patched một lỗ hổng bảo mật vào cuối tuần vừa qua mà các nhà nghiên cứu bảo mật cho biết dường như đã khắc phục được một lỗ hổng XSS lưu trữ.
Theo thông tin trong bản ghi changelog chính thức của Astra:
'Nâng cao Bảo mật: Mã nguồn của chúng tôi đã được củng cố để bảo vệ trang web của bạn hơn.'
Bản ghi changelog của họ, ghi lại các thay đổi trong mã nguồn được bao gồm trong mỗi bản cập nhật, không cung cấp thông tin về lỗ hổng đó là gì hoặc mức độ nghiêm trọng của nó. Người dùng theme do đó không thể quyết định có nên cập nhật theme ngay lập tức hay thực hiện kiểm tra trước khi cập nhật để đảm bảo rằng theme đã cập nhật tương thích với các plugin khác đang sử dụng.
SEJ đã liên hệ với công ty bảo mật WordPress Patchstack và xác nhận rằng Astra có thể đã khắc phục được lỗ hổng cross-site scripting.
Astra WordPress Theme từ Brainstorm Force
Astra là một trong những theme WordPress phổ biến nhất trên thế giới. Đó là một theme miễn phí khá nhẹ, dễ sử dụng và tạo ra các trang web chuyên nghiệp. Thậm chí, nó còn tích hợp dữ liệu cấu trúc Schema.org.
Lỗ hổng Cross-Site Scripting (XSS)
Một lỗ hổng cross-site scripting là một trong những loại lỗ hổng phổ biến nhất được tìm thấy trên WordPress thường phát sinh trong các plugin và theme bên thứ ba. Đây là một lỗ hổng xảy ra khi có cách để nhập dữ liệu nhưng plugin hoặc theme không lọc đúng những gì được nhập hoặc xuất ra, điều này có thể cho phép kẻ tấn công tải lên một tải trọng độc hại.
Lỗ hổng cụ thể này được gọi là lỗ hổng XSS lưu trữ. XSS lưu trữ được gọi là vì nó liên quan đến việc tải lên trực tiếp tải trọng vào máy chủ trang web và lưu trữ.
Trang web phi lợi nhuận Open Worldwide Application Security Project (OWASP) cung cấp mô tả sau về lỗ hổng XSS lưu trữ:
'Các cuộc tấn công được lưu trữ là những cuộc tấn công mà mã đã được tiêm vào máy chủ mục tiêu một cách vĩnh viễn, chẳng hạn như trong cơ sở dữ liệu, trong diễn đàn tin nhắn, nhật ký khách truy cập, trường bình luận, v.v. Sau đó, nạn nhân sẽ nhận mã độc hại từ máy chủ khi nó yêu cầu thông tin đã lưu trữ. XSS lưu trữ đôi khi còn được gọi là XSS Persistent hoặc Type-II.'
Đánh giá Plugin của Patchstack
SEJ liên hệ với Patchstack ngay lập tức để xem xét các tập tin đã thay đổi và xác định một vấn đề bảo mật theme có thể có trong ba chức năng WordPress. Các chức năng WordPress là mã có thể thay đổi cách hoạt động của các tính năng WordPress như việc thay đổi độ dài của một đoạn trích. Các chức năng có thể thêm tùy chỉnh và giới thiệu các tính năng mới cho một theme.
Patchstack giải thích về kết quả của họ:
'Tôi đã tải về phiên bản 4.6.9 và 4.6.8 (phiên bản miễn phí) từ kho lưu trữ WordPress.org và kiểm tra sự khác biệt.
Dường như một số chức năng đã được thay đổi để thoát ra khỏi giá trị trả về từ chức năng WordPress get_the_author.
Chức năng này in ra thuộc tính 'display_name' của một người dùng, có thể chứa một cái gì đó độc hại để kết thúc với một lỗ hổng cross-site scripting nếu in trực tiếp mà không sử dụng bất kỳ chức năng thoát ra đầu ra nào.
Các chức năng sau đã có thay đổi này:
astra_archive_page_info
astra_post_author_name
astra_post_author
Nếu, ví dụ, một người đóng góp viết một bài viết và người đóng góp đó thay đổi tên hiển thị của mình để chứa một tải trọng độc hại, tải trọng độc hại này sẽ được thực thi khi một khách truy cập truy cập trang đó với tên hiển thị độc hại của họ.'
Dữ liệu không tin cậy trong ngữ cảnh của lỗ hổng XSS trên WordPress có thể xảy ra khi người dùng có thể nhập dữ liệu.
Các quy trình này được gọi là Sanitization, Validation và Escaping, ba cách để bảo vệ một trang web WordPress.
Sanitization có thể được coi là quá trình lọc dữ liệu đầu vào. Validation là quá trình kiểm tra dữ liệu đầu vào để xác định xem nó chính xác như mong đợi, như văn bản thay vì mã. Thoát ra đầu ra đảm bảo rằng bất kỳ điều gì được xuất ra, chẳng hạn như dữ liệu đầu vào của người dùng hoặc nội dung cơ sở dữ liệu, là an toàn để hiển thị trên trình duyệt.
Công ty bảo mật WordPress Patchstack đã xác định các thay đổi trong các chức năng thoát ra dữ liệu, từ đó cung cấp gợi ý về lỗ hổng là gì và cách sửa chúng.
Thông Báo Bảo Mật của Patchstack
Chưa biết liệu một nhà nghiên cứu bảo mật bên thứ ba đã phát hiện lỗ hổng hay Brainstorm, nhà sản xuất của theme Astra, đã phát hiện và khắc phục chúng.
Thông báo chính thức của Patchstack cung cấp thông tin sau:
'Một người không xác định đã phát hiện và báo cáo lỗ hổng Cross Site Scripting (XSS) này trong theme WordPress Astra. Điều này có thể cho phép một kẻ tấn công độc hại tiêm các script độc hại, chẳng hạn như chuyển hướng, quảng cáo và các tải trọng HTML khác vào trang web của bạn mà sẽ được thực thi khi khách truy cập trang web của bạn. Lỗ hổng này đã được khắc phục trong phiên bản 4.6.9.'
Patchstack đánh giá lỗ hổng này là mức đe dọa trung bình và gán cho nó điểm số 6.5 trên thang điểm từ 1 – 10.
Thông Báo Bảo Mật của Wordfence
Wordfence cũng vừa công bố một thông báo bảo mật. Họ đã phân tích các tập tin của Astra và kết luận:
'Theme Astra cho WordPress có lỗ hổng Stored Cross-Site Scripting thông qua tên hiển thị của người dùng trong tất cả các phiên bản cho đến, và bao gồm, phiên bản 4.6.8 do việc lọc dữ liệu đầu vào và thoát ra đầu ra không đủ. Điều này làm cho kẻ tấn công xác thực, có quyền truy cập cấp độ người đóng góp và cao hơn, tiêm các mã web tùy ý vào các trang sẽ được thực thi mỗi khi người dùng truy cập vào một trang đã tiêm mã.'
Thường được khuyến nghị rằng người dùng theme cập nhật cài đặt của họ nhưng cũng cần kiểm tra xem theme đã cập nhật không gây ra lỗi trước khi triển khai nó trên một trang web thực tế.