Bí mật về lỗ hổng an ninh trong Theme WordPress Astra ảnh hưởng đến hơn 1 triệu trang web

Bí mật về lỗ hổng an ninh trong Theme WordPress Astra ảnh hưởng đến hơn 1 triệu trang web

Theme WordPress Astra với hơn 1 triệu cài đặt đã âm thầm vá một lỗ hổng XSS có thể ảnh hưởng đến an ninh theo các nhà nghiên cứu an ninh

Bí mật trong Theme WordPress Astra

Theme WordPress Astra, một trong những theme phổ biến nhất thế giới, với hơn 1 triệu cài đặt đã âm thầm vá một lỗ hổng an ninh vào cuối tuần vừa qua theo những nhà nghiên cứu an ninh.

Changelog chính thức của Astra đưa ra giải thích về bản vá an ninh:

'Nâng cao An ninh: Mã nguồn của chúng tôi đã được tăng cường để bảo vệ website của bạn hơn.'

Changelog của họ không cung cấp thông tin về lỗ hổng cụ thể là gì hoặc mức độ nghiêm trọng của nó. Người dùng theme không thể đưa ra quyết định thông minh về việc cập nhật theme ngay lập tức hoặc tiến hành kiểm tra trước khi cập nhật để đảm bảo rằng theme mới 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 an ninh WordPress Patchstack, họ xác nhận rằng Astra có thể đã vá một lỗ hổng cross-site scripting.

Brainstorm Force - Theme WordPress Astra

Astra là một trong những theme WordPress phổ biến nhất trên thế giới. Đây là một theme miễn phí, nhẹ nhàng, dễ sử dụng và tạo ra các trang web chuyên nghiệp. Thậm chí nó tích hợp dữ liệu cấu trúc Schema.org trong đó.

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 phát hiện 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 đủ dữ liệu đượ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à stored XSS. Một stored XSS được gọi như vậy vì nó liên quan đến việc tải lên trực tiếp tải trọng lên máy chủ trang web và lưu trữ.

Trang web Open Worldwide Application Security Project (OWASP) phi lợi nhuận cung cấp mô tả sau về một lỗ hổng stored XSS:

'Các cuộc tấn công được lưu trữ là những nơi mà mã được tiêm trực tiếp vào máy chủ mục tiêu, chẳng hạn như trong cơ sở dữ liệu, trong một diễn đàn tin nhắn, nhật ký khách truy cập, trường nhận xét, v.v. Nạn nhân sau đó nhận mã độc hại từ máy chủ khi yêu cầu thông tin được lưu trữ. Stored XSS đôi khi còn được gọi là Persistent hoặc Type-II XSS.'

Đánh giá Plugin từ Patchstack

SEJ liên hệ với Patchstack ngay sau đó họ đã xem xét các tệp đã thay đổi và xác định một vấn đề an ninh theme có thể trong ba chức năng WordPress. Các chức năng WordPress là mã có thể thay đổi cách mà các tính năng của WordPress hoạt động như việc thay đổi độ dài của một trích dẫn. Các chức năng có thể thêm các tùy chỉnh và giới thiệu tính năng mới vào một theme.

Patchstack giải thích về kết quả của họ:

'Tôi đã tải xuống 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.

Có vẻ như một số chức năng đã được thay đổi để thoát giá trị trả về từ chức năng WordPress get_the_author.

Chức năng này in '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 được in trực tiếp mà không sử dụng bất kỳ chức năng thoát 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 và người đóng góp thay đổi tên hiển thị của họ để chứa một tải trọng độc hại, tải trọng độc hại này sẽ được thực hiện 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 trong 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 website WordPress.

Sanitization có thể được xem 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 liệu đó có phải là chính xác hay không, như văn bản thay vì mã nguồn. Thoát 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 an ninh WordPress Patchstack xác định các thay đổi đối với chức năng thoát 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 an ninh từ Patchstack

Chưa rõ 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, đã tự phát hiện và vá lỗi.

Thông báo chính thức từ 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) 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 sẽ được thực hiện khi khách truy cập truy cập trang web của bạn. Lỗ hổng này đã được vá trong phiên bản 4.6.9.'

Patchstack đánh giá lỗ hổng là mức đe dọa trung bình và gán cho nó một điểm số 6.5 trên thang điểm từ 1 - 10.

Thông báo an ninh từ Wordfence

Wordfence cũng vừa công bố một thông báo an ninh. Họ đã phân tích các tệp của Astra và kết luận:

'Theme Astra cho WordPress dễ bị tấn công 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 phiên bản 4.6.8 do không đủ lọc dữ liệu đầu vào và thoát dữ liệu đầu ra. Điều này khiến cho kẻ tấn công đã xác thực, có quyền truy cập trình động và cao hơn, có thể tiêm các script web tùy ý vào các trang sẽ được thực thi mỗi khi một người dùng truy cập vào một trang bị tiêm.'

Thường khuyến nghị người dùng của 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ế.

Xem thêm:

Hướng dẫn Bảo mật WordPress để Bảo vệ Trang Web của Bạn

Bảo mật WordPress: 16 Bước để Bảo vệ và Bảo vệ Trang Web của Bạn

Hình ảnh nổi bật từ Shutterstock/GB_Art