Advanced Custom Fields – ACF

Advanced Custom Fields bị đổi tên thành Secure Custom Fields. Cập nhật như thế nào để tránh các lỗi có thể phát sinh?

Tranh cãi

Trong những ngày qua, nổi cộm lên trong giới mã nguồn mở, cũng như trên các diễn đàn về webhosting là các tranh luận, thậm chí là dẫn đến kiện tụng pháp lý giữa Matt Mullenweg, người sáng lập ra WordPress, công ty Automattic và WPEngine, một công ty xây dựng nền tảng kinh doanh của mình trên mã nguồn WordPress, WooCommerce. Các vấn đề được đưa ra như bản quyền sử dụng thuật ngữ WordPress, việc đóng góp của WPEngine vào cộng đồng WordPress… Hai bên đều sử dụng các lý lẽ có thể, không ai chịu ai, thậm chí có các hành động kiện tụng pháp lý. Khi đó, Matt Mullenweg và Automattic đã quyết định khoá quyền truy cập của WPEngine vào hệ thống của WordPress.

Cho đến thời điểm này, căng thẳng giữa hai bên chưa hạ nhiệt, thậm chí còn leo thang với hành động của Matt Mullenweg, quyết định thay thế ACF bằng SCF – Secure Custom Fields, ngày 12 tháng 10 năm 2024.

On behalf of the WordPress security team, I am announcing that we are invoking point 18 of the plugin directory guidelines and are forking Advanced Custom Fields (ACF) into a new plugin, Secure Custom Fields. SCF has been updated to remove commercial upsells and fix a security problem.

Lược dịch:

Thay mặt cho nhóm bảo mật WordPress, tôi xin thông báo rằng chúng tôi đang áp dụng điểm 18 của hướng dẫn thư mục plugin và đang phân nhánh Advanced Custom Fields (ACF) thành một plugin mới, Secure Custom Fields. SCF đã được cập nhật để xóa các chương trình bán thêm thương mại và khắc phục sự cố bảo mật.

Ảnh hưởng đối với các website WordPress

Việc Automattic khoá quyền truy cập của WPEngine vào hệ thống chung dẫn đến hai vấn đề:

  1. Các khách hàng của WPEngine không cập nhật được các phiên bản của các plugins, themes được phân phối qua cách cập nhật tiêu chuẩn, từ các máy chủ của WordPress.
  2. WPEngine không tiếp tục cung cấp các bản cập nhật mới cho các phần mềm đang cung cấp miễn phí trên wordpress.org

Trong khi vấn đề thứ nhất chỉ ảnh hưởng đến các khách hàng của WPEngine, vấn đề thứ hai ảnh hưởng đến một tập khách hàng lớn hơn, không chỉ của WPEngine. Tiêu biểu là các khách hàng đang sử dụng một plugin thông dụng là ACF – Advanced Custom Fields, hay các khách hàng vẫn đang sử dụng framework Genesis cũng như các plugins, themes liên quan (tham khảo danh sách bên dưới)

ACF là một trong những plugin thông dụng nhất với mã nguồn WordPress, bổ sung thêm các tính năng cho phép người dùng tuỳ biến nội dung cho phù hợp với nhu cầu sử dụng. Từ đó, có thể tạo ra các ứng dụng web phức tạp hơn, chứ không chỉ là viết bài blog đơn thuần.

Việc forking tại các plugins cho WordPress không phải xảy ra lần đầu tiên. Mà nó đã, đang và sẽ có, đặc biệt là với các plugins không còn được cập nhật bởi developer ban đầu. Matt / Automattic lấy lý do về bảo mật để thay thế ACF bằng SCF. Admin của mỗi trang WordPress có cài đặt ACF sẽ nhận được thông báo có phiên bản mới 6.3.6.2, và có thể cập nhật như bình thường. Sau khi cập nhật, ACF sẽ đổi tên thành SCF – Secure Custom Fields.

Thuật ngữ forking trong việc phát triển phần mềm mã nguồn mở có nghĩa là developer lấy một bản sao mã nguồn từ một gói phần mềm và bắt đầu phát triển độc lập trên đó, tạo ra một phần mềm riêng biệt. Việc copy mã nguồn này không cần phải xin phép người quản lý hiện tại.

Vậy vấn đề là gì?

Bình thường, khi một phần mềm mới được tạo ra từ forking một phần mềm cũ, nó chỉ được sao chép mã nguồn. Developer mới sẽ phải phân phối, xây dựng tập khách hàng của mình từ đầu. Còn với ACF, cho đến thời điểm này, nó chỉ bị thay thế một phần tên, logo bằng SCF. Thậm chí là chưa thay thế hết. Khi cài đặt SCF, người dùng vẫn thấy tên, logo của ACF. Tên thư mục cài đặt vẫn là advanced-custom-fields.

Advanced Custom Fields, ACF, bị đổi tên thành Secure Custom Fields, SCF

Từ quan điểm của VietNAP, chúng tôi không thấy việc này là tốt.

  • Nhóm phát triển của ACF đã cung cấp các bản vá bảo mật, lên phiên bản 6.3.8, nhưng do không được truy cập vào hệ thống của WordPress, nên họ không thể phân phối các bản vá này theo cách thông thường.
  • Đồng thời, việc Automattic chiếm toàn bộ tập khách hàng, hơn hai triệu website đang cài đặt ACF, có thể dẫn đến các hành động pháp lý tiếp theo giữa WPEngine và Matt Mullenwg / Automattic liên quan đến ACF. Và việc này có thể gây gián đoạn việc cung cấp các phiên bản tiếp theo của SCF. Trong trường hợp đó, khách hàng đang sử dụng SCF sẽ là người chịu thiệt đầu tiên.

Khuyến nghị của VietNAP

Nhóm phát triển ACF đã đưa ra phiên bản 6.3.8 với khả năng cập nhật các phiên bản kế tiếp trực tiếp từ hệ thống của họ, chứ không thông qua các máy chủ của WordPress nữa. VietNAP khuyến nghị khách hàng cập nhật theo hướng này, ít nhất là ở thời điểm hiện tại. Việc này đảm bảo được hai việc:

  • không bị gián đoạn cập nhật các phiên bản kế tiếp của ACF
  • tính tương thích với các đoạn code tự phát triển hoặc các plugin khác khi sử dụng chung với ACF như ACF ML hay FacetWP

PS: Danh sách các plugin và theme đang được phát triển bởi WPEngine và các nhóm trực thuộc bị ảnh hưởng. Các phiên bản miễn phí của các phần mềm này, được cung cấp qua hệ thống tiêu chuẩn của WordPress và bị ảnh hưởng. Các phiên bản Pro, có trả tiền, vẫn được cập nhật qua kênh riêng, và không bị ảnh hưởng.

  • Advanced Custom Fields
  • NitroPack
  • WP Migrate Lite
  • WP Offload Media Lite
  • WP Offload SES Lite
  • Better Search Replace
  • Frost
  • Genesis Blocks
  • Genesis Custom Blocks

Với các khách hàng sử dụng dịch vụ quản trị WordPress tại VietNAP, chúng tôi đã cập nhật ACF miễn phí lên phiên bản 6.3.8. Các khách hàng sử dụng ACF Pro không bị ảnh hưởng.

Với các khách hàng khác, chúng tôi khuyến nghị tham khảo thêm các nguồn thông tin và quyết định tiếp tục sử dụng ACF hay chuyển sang SCF. Cho dù phương án nào thì cũng cần cập nhật ngay, do các phiên bản mới nhất được đưa ra để vá các lỗi bảo mật.

Nếu như trong tương lai, Automattic thực sự triển khai các tính năng của SCF vào core WordPress, có thể chúng ta sẽ không cần cài đặt SCF hay bản ACF miễn phí. Tuy nhiên, chưa có dự tính, hay thông báo gì cho việc này.