Cảnh báo phát hiện lỗ hỏng nghiêm trọng trong Woocommerce

5/5 - (5 bình chọn)

Nhà nghiên cứu bảo mật Josh phát hiện và báo cáo thông qua chương trình bảo mật HackerOne vào ngày 13 tháng 7 năm 2021, một lỗ hổng nghiêm trọng liên quan đến Bug WooCommerce và plugin WooCommerce Blocks.

Lỗ hổng này có thể khiến dữ liệu như ID và hashed passwords bị khai thác.

Bản cập nhật tự động cho plugin WooCommerce hiện đã được phát hành cho tất cả các website, tuy nhiên chúng tôi khuyên bạn nên kiểm tra và đảm bảo rằng bạn đang sử dụng phiên bản mới nhất.

Đối với WooCommerce, phiên bản mới nhất là 5.5.1.

Nếu bạn sử dụng plugin WooCommerce Blocks, bạn cũng nên cập nhật lên phiên bản 5.5.1.

Vào ngày 13 tháng 7 năm 2021, một lỗ hổng nghiêm trọng liên quan đến WooCommerce và plugin tính năng WooCommerce Blocks đã được nhà nghiên cứu bảo mật Josh xác định và tiết lộ một cách có trách nhiệm thông qua chương trình bảo mật HackerOne của chúng tôi .

Khi biết về sự cố, nhóm của chúng tôi đã ngay lập tức tiến hành điều tra kỹ lưỡng, kiểm tra tất cả các cơ sở mã liên quan và tạo bản vá để khắc phục sự cố cho mọi phiên bản bị ảnh hưởng (hơn 90 bản phát hành) được triển khai tự động cho các cửa hàng dễ bị tấn công.

Tôi có một cửa hàng WooCommerce – tôi nên thực hiện những hành động nào?

Các bản cập nhật phần mềm tự động cho WooCommerce 5.5.1 bắt đầu được tung ra vào ngày 14 tháng 7 năm 2021, cho tất cả các cửa hàng đang chạy các phiên bản bị ảnh hưởng của từng plugin, nhưng chúng tôi thực sự khuyên bạn nên đảm bảo rằng bạn đang sử dụng phiên bản mới nhất. Đối với WooCommerce, đây là 5.5.2 * hoặc con số cao nhất có thể trong chi nhánh phát hành của bạn . Nếu bạn cũng đang chạy WooCommerce Blocks, bạn nên sử dụng phiên bản 5.5.1 của plugin đó.

Quan trọng : Với việc phát hành WooCommerce 5.5.2 vào ngày 23 tháng 7 năm 2021, quá trình tự động cập nhật được đề cập ở trên đã bị ngừng.

Sau khi cập nhật lên phiên bản vá, chúng tôi cũng khuyên bạn nên:

  • Cập nhật mật khẩu cho bất kỳ người dùng Quản trị nào trên trang web của bạn, đặc biệt nếu họ sử dụng lại cùng một mật khẩu trên nhiều trang web
  • Xoay vòng bất kỳ Cổng thanh toán nào và khóa API WooCommerce được sử dụng trên trang web của bạn.

Có thêm thông tin về các bước này bên dưới.

* WooCommerce 5.5.2 được phát hành vào ngày 23 tháng 7 năm 2021. Các bản sửa lỗi có trong phiên bản này không liên quan đến lỗ hổng bảo mật gần đây.

Làm cách nào để biết liệu phiên bản của tôi có cập nhật hay không?

Bảng dưới đây chứa danh sách đầy đủ các phiên bản được vá cho cả Khối WooCommerce và WooCommerce. Nếu bạn đang chạy phiên bản WooCommerce hoặc WooCommerce Blocks không có trong danh sách này, vui lòng cập nhật ngay lập tức lên phiên bản cao nhất trong nhánh phát hành của bạn.

Các phiên bản WooCommerce đã vá Các phiên bản Khối WooCommerce được vá
3.3.6 2.5.16
3.4.8 2.6.2
3.5.9 2.7.2
3.6.6 2.8.1
3.7.2 2.9.1
3.8.2 3.0.1
3.9.4 3.1.1
4.0.2 3.2.1
4.1.2 3.3.1
4.2.3 3.4.1
4.3.4 3.5.1
4.4.2 3.6.1
4.5.3 3.7.2
4.6.3 3.8.1
4.7.2 3.9.1
4.8.1 4.0.1
4.9.3 4.1.1
5.0.1 4.2.1
5.1.1 4.3.1
5.2.3 4.4.3
5.3.1 4.5.3
5.4.2 4.6.1
5.5.1 4.7.1
5.5.2 4.8.1
4.9.2
5.0.1
5.1.1
5.2.1
5.3.2
5.4.1
5.5.1

Tại sao trang web của tôi không nhận được bản cập nhật tự động?

Trang web của bạn có thể không tự động cập nhật vì một số lý do, một số lý do rất có thể là: bạn đang chạy một phiên bản trước khi một phiên bản bị ảnh hưởng (bên dưới WooCommerce 3.3), các cập nhật tự động đã bị vô hiệu hóa rõ ràng trên trang web của bạn, hệ thống tệp của bạn chỉ đọc hoặc có các tiện ích mở rộng xung đột có thể ngăn cản việc cập nhật.

Trong mọi trường hợp (ngoại trừ ví dụ đầu tiên, khi bạn không bị ảnh hưởng), bạn nên cố gắng cập nhật thủ công lên phiên bản vá mới nhất trên nhánh phát hành của mình (ví dụ: 5.5.2, 5.4.2, 5.3.1, v.v.), như được liệt kê trong bảng trên.

Có bất kỳ dữ liệu nào bị xâm phạm không?

Dựa trên bằng chứng có sẵn hiện tại, chúng tôi tin rằng bất kỳ khai thác nào cũng bị hạn chế.

Nếu một cửa hàng bị ảnh hưởng, thông tin bị lộ sẽ dành riêng cho những gì trang web đó đang lưu trữ nhưng có thể bao gồm thông tin về đơn đặt hàng, khách hàng và quản trị.

Làm cách nào để kiểm tra xem cửa hàng của tôi có bị khai thác hay không?

Do bản chất của lỗ hổng này và cách cực kỳ linh hoạt mà WordPress (và do đó WooCommerce) cho phép xử lý các yêu cầu web, nên không có cách xác nhận chắc chắn nào về việc khai thác. Bạn có thể phát hiện một số nỗ lực khai thác bằng cách xem lại nhật ký truy cập của máy chủ web của bạn (hoặc nhận trợ giúp từ máy chủ web của bạn để làm như vậy). Các yêu cầu ở các định dạng sau được thấy từ tháng 12 năm 2019 đến nay có thể cho thấy có nỗ lực khai thác:

  • REQUEST_URI đối sánh biểu thức chính quy //wp-json/wc/store/products/collection-data.*%25252.*/
  • REQUEST_URI đối sánh biểu thức chính quy /.*/wc/store/products/collection-data.*%25252.*/(lưu ý rằng biểu thức này không hiệu quả / chạy chậm trong hầu hết các môi trường ghi nhật ký)
  • Mọi yêu cầu không phải GET (POST hoặc PUT) đối với /wp-json/wc/store/products/collection-datahoặc/?rest_route=/wc/store/products/collection-data

Các yêu cầu mà chúng tôi đã thấy khai thác lỗ hổng này đến từ các địa chỉ IP sau, với hơn 98% đến từ địa chỉ IP đầu tiên trong danh sách. Nếu bạn thấy bất kỳ địa chỉ IP nào trong số các địa chỉ IP này trong nhật ký truy cập của mình, bạn nên cho rằng lỗ hổng bảo mật đã bị khai thác:

  • 137.116.119.175
  • 162.158.78.41
  • 103.233.135.21

Tôi cần thay đổi mật khẩu nào?

Không có khả năng mật khẩu của bạn đã bị xâm phạm vì nó đã được băm .

Mật khẩu người dùng WordPress được băm bằng cách sử dụng muối, có nghĩa là giá trị băm kết quả rất khó bị bẻ khóa. Phương pháp băm muối này bảo vệ mật khẩu của bạn với tư cách là người dùng quản trị và cũng như mật khẩu của bất kỳ người dùng nào khác trên trang web của bạn, bao gồm cả khách hàng. Mặc dù có thể phiên bản băm của mật khẩu được lưu trữ trong cơ sở dữ liệu của bạn có thể đã bị truy cập thông qua lỗ hổng này, giá trị băm phải không thể nhận biết và vẫn bảo vệ mật khẩu của bạn khỏi bị sử dụng trái phép.

Điều này giả định rằng trang web của bạn đang sử dụng quản lý mật khẩu WordPress tiêu chuẩn cho người dùng. Tùy thuộc vào các plugin bạn đã cài đặt trên trang web của mình, bạn có thể có mật khẩu hoặc thông tin nhạy cảm khác được lưu trữ theo những cách kém an toàn hơn.

Nếu bất kỳ người dùng Quản trị viên nào trên trang web của bạn có thể đã sử dụng lại cùng một mật khẩu trên nhiều trang web, chúng tôi khuyên bạn nên cập nhật các mật khẩu đó trong trường hợp thông tin đăng nhập của họ đã bị xâm phạm ở nơi khác.

Chúng tôi cũng khuyên bạn nên thay đổi bất kỳ dữ liệu bí mật hoặc riêng tư nào được lưu trữ trong cơ sở dữ liệu WordPress / WooCommerce của bạn. Điều này có thể bao gồm khóa API, khóa công khai / riêng tư cho các cổng thanh toán và hơn thế nữa, tùy thuộc vào cấu hình cửa hàng cụ thể của bạn.

Với tư cách là nhà phát triển tiện ích mở rộng hoặc nhà cung cấp dịch vụ, chúng tôi có nên thông báo cho người bán WooCommerce của mình không?

Nếu bạn làm việc với bất kỳ cửa hàng hoặc người bán WooCommerce trực tiếp nào, chúng tôi khuyến khích bạn làm việc với họ để đảm bảo họ biết về vấn đề này và / hoặc cập nhật cửa hàng của họ lên phiên bản an toàn.

Nếu bạn đã tạo tiện ích mở rộng hoặc cung cấp dịch vụ SaaS dựa trên API WooCommerce, chúng tôi khuyến khích bạn giúp người bán đặt lại các khóa để kết nối với dịch vụ của bạn.

Là chủ cửa hàng, tôi có nên cảnh báo cho khách hàng của mình không?

Cuối cùng bạn có thông báo cho khách hàng hay không là tùy thuộc vào bạn. Các nghĩa vụ của bạn trong việc thông báo cho khách hàng hoặc đặt lại những thứ như mật khẩu sẽ khác nhau tùy thuộc vào các chi tiết như cơ sở hạ tầng trang web của bạn, vị trí địa lý của bạn và khách hàng, dữ liệu mà trang web của bạn đang thu thập và liệu trang web của bạn có bị xâm phạm hay không.

Hành động quan trọng nhất bạn có thể thực hiện để bảo vệ khách hàng của mình là cập nhật phiên bản WooCommerce của bạn lên phiên bản đã được vá với bản sửa lỗi cho lỗ hổng này.

Sau khi cập nhật, chúng tôi khuyên bạn nên:

  • Cập nhật mật khẩu cho bất kỳ người dùng Quản trị viên nào trên trang web của bạn, đặc biệt nếu bạn sử dụng lại cùng một mật khẩu trên nhiều trang web
  • Xoay vòng bất kỳ Cổng thanh toán nào và khóa API WooCommerce được sử dụng trên trang web của bạn.

Với tư cách là chủ cửa hàng, quyết định cuối cùng của bạn là bạn có muốn thực hiện các biện pháp phòng ngừa bổ sung như đặt lại mật khẩu của khách hàng hay không. Mật khẩu người dùng WordPress (và do đó là WooCommerce) được băm bằng cách sử dụng các muối, có nghĩa là giá trị băm kết quả rất khó bị bẻ khóa. Phương pháp băm muối này được áp dụng cho tất cả mật khẩu người dùng trên trang web của bạn, bao gồm cả mật khẩu của khách hàng của bạn.

WooCommerce có còn an toàn để sử dụng không?

Đúng.

Những sự cố như thế này là không phổ biến, nhưng không may đôi khi vẫn xảy ra. Mục đích của chúng tôi là luôn phản hồi ngay lập tức và hoạt động hoàn toàn minh bạch.

Kể từ khi biết về lỗ hổng bảo mật, nhóm đã làm việc suốt ngày đêm để đảm bảo rằng bản sửa lỗi đã được đưa ra và người dùng của chúng tôi đã được thông báo.

Việc chúng tôi tiếp tục đầu tư vào bảo mật nền tảng cho phép chúng tôi ngăn chặn phần lớn các vấn đề – nhưng trong một số trường hợp hiếm hoi có thể ảnh hưởng đến các cửa hàng, chúng tôi cố gắng khắc phục nhanh chóng, giao tiếp chủ động và cộng tác với Cộng đồng WooCommerce.