Phát hành NukeViet 23.09.2026

Thông báo bảo mật dòng NukeViet 4.5.x

Thứ tư - 01/07/2026 04:59
Dòng NukeViet 4.5.x đã bước vào giai đoạn duy trì cuối vòng đời. Trang này ghi nhận liên tục các vấn đề bảo mật và cách chúng tôi xử lý để giữ an toàn cho những website còn ở lại trên dòng 4.5.x đến tháng 7 năm 2027. Chúng tôi vẫn nỗ lực bảo vệ bạn ở mức tốt nhất có thể trên nền tảng này — nhưng nếu có điều kiện, hãy lên kế hoạch chuyển sang phiên bản mới hơn để được bảo vệ tận gốc.

Dòng NukeViet 4.5.x sử dụng một số thư viện mã nguồn mở thông qua Composer. Các thư viện này vừa công bố lỗ hổng bảo mật và đã phát hành bản vá. Tuy nhiên, bản vá chính thức của chúng yêu cầu PHP 7.2 trở lên, trong khi dòng 4.5.x cam kết hỗ trợ PHP từ phiên bản 5.6.

Nâng cấp các thư viện này theo cách thông thường sẽ tạo ra một breaking change: hàng loạt website đang chạy trên PHP 5.6–7.1 sẽ ngừng hoạt động. Để không phá vỡ cam kết tương thích của dòng 4.5.x, NukeViet giữ nguyên phiên bản thư viện và backport phần mã vá lỗi từ chính tác giả gốc — chèn đúng đoạn sửa lỗi vào mã nguồn mà không thay đổi phiên bản.

Trang này ghi nhận các vấn đề bảo mật của dòng 4.5.x theo thời gian. Mỗi mục bên dưới tương ứng với một đợt xử lý được sắp xếp theo thứ tự mới nhất lên trên.


[05/08/2026] 2 lỗ hổng từ guzzlehttp/guzzle CVE-2026-69245, CVE-2026-69246

CVE-2026-69245: Liên quan SetCookie::matchesDomain() trong NukeViet không bao giờ dùng đến tính năng này

CVE-2026-69246: Dựng URI từ input không tin cậy và tự kiểm tra host (denylist / chặn private range / validate IP literal) trước khi đưa URI cho Guzzle. Trong NukeViet tất cả uri đều là hardcode.

=> Chúng tôi không có thay đổi nào đối với mã nguồn

[23/07/2026] 2 lỗ hổng từ guzzlehttp/psr7 và guzzlehttp/guzzle

  • CVE-2026-59882 (PSR7 Host Confusion): chỉ khai thác được khi Guzzle request URI được dựng từ host do attacker kiểm soát. Trong code NukeViet, các endpoint OAuth đều hardcode 
  • GHSA-h95v-h523-3mw8 (rò rỉ fragment qua Referer): chỉ xảy ra khi bật tùy chọn allow_redirects => ['referer' => true]. league/oauth2-client dùng Guzzle client mặc định, và mặc định referer = false. Code không bật tùy chọn này → không khai thác được.

Nếu website của bạn sử dụng các thư viện này với mục đích khác, nên nâng cấp phiên bản php lên cao hơn và cập nhật các thư viện này.

[24/06/2026] Nguy cơ tiềm ẩn từ chức năng ứng dụng (extensions) với store

Chúng tôi nhận được báo cáo và xác nhận có mối nguy cơ nếu như tên miền của kho ứng dụng bị tấn công (Supply Chain Attack). Chúng tôi khuyến cáo các website đang vận hành hãy tắt toàn bộ chức năng cài ứng dụng hoặc tắt toàn bộ module extensions:

  • Cấp độ tắt chức năng cài ứng dụng: Mở config.php tìm dòng $global_config['extension_setup'] hãy chỉnh giá trị nó bằng 0
  • Tắt module extensions: Vào phpmyadmin bảng nv4_authors_module tại dòng module=extensions hãy chỉnh act_1=0

[23/06/2026] Lỗ hổng từ thư viện guzzlehttp/psr7 và guzzlehttp/guzzle

Ba lỗ hổng mới được công bố ở hai thư viện psr7 và guzzle. Với cách NukeViet sử dụng (chủ yếu cho đăng nhập qua mạng xã hội), rủi ro thực tế đối với website thông thường ở mức thấp; bản vá được áp dụng chủ động.
 
CVE-2026-55766 — guzzlehttp/psr7 Khi chuyển một thông điệp HTTP thành chuỗi thô, thư viện không loại bỏ các ký tự xuống dòng ẩn ở dòng đầu (phương thức, phiên bản giao thức, câu trạng thái), về lý thuyết có thể bị lợi dụng để chèn thêm dòng tiêu đề trái phép. Mức độ ảnh hưởng: Thấp đối với NukeViet. Chi tiết: CVE-2026-55766.
 
CVE-2026-55568 — guzzlehttp/guzzle Khi cấu hình proxy dạng https trên máy chủ có libcurl quá cũ, kết nối tới proxy có thể bị âm thầm hạ xuống dạng không mã hóa, làm lộ dữ liệu trên chặng này. Mức độ ảnh hưởng: Thấp đối với NukeViet; hệ thống không cấu hình proxy. Vá để phòng ngừa. Chi tiết: CVE-2026-55568.

 

CVE-2026-55767 — guzzlehttp/guzzle Thư viện chấp nhận nhầm cookie có tên miền chỉ gồm dấu chấm (như "."), khiến cookie đó có thể bị gửi sang mọi máy chủ khi dùng chung bộ nhớ cookie — có thể bị lợi dụng để chèn cookie hoặc giả mạo phiên. Mức độ ảnh hưởng: Thấp đối với NukeViet; hệ thống không dùng chung bộ nhớ cookie giữa nhiều nguồn. Chi tiết: CVE-2026-55767.
 
Các tệp đã sửa:
TệpVá cho
vendor/guzzlehttp/psr7/src/Message.phpCVE-2026-55766
vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.phpCVE-2026-55767
vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.phpCVE-2026-55568
  
Tham chiếu bản vá gốc: 
Guzzle PSR-7:
Guzzle:

 

Hướng dẫn cho người dùng
Nếu cập nhật qua gói chính thức của NukeViet, các tệp đã vá nằm sẵn trong gói, bạn không cần thao tác thêm.
 
Nếu bạn tự chạy composer update, lệnh này sẽ tải lại thư viện gốc và ghi đè mất bản vá. Khi đó hãy chép đè lại 3 tệp sau từ gói NukeViet chính thức:

vendor/guzzlehttp/psr7/src/Message.php
vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php
vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
 

[13/06/2026] Lỗ hổng từ thư viện symfony/polyfill-intl-idn và guzzlehttp/psr7

Ba lỗ hổng được công bố ở hai thư viện. Với cách NukeViet sử dụng, rủi ro thực tế đối với website thông thường ở mức thấp; bản vá được áp dụng chủ động.

CVE-2026-46644 — symfony/polyfill-intl-idn Thư viện xử lý tên miền quốc tế (ví dụ tên miền có dấu) chấp nhận nhầm một số tên miền giả mạo lẽ ra phải từ chối. Có thể bị lợi dụng để lách qua danh sách tên miền tin cậy trong cấu hình bảo mật. Mức độ ảnh hưởng: Trung bình, chỉ xảy ra trên máy chủ thiếu tiện ích intl của PHP. Chi tiết: CVE-2026-46644.

CVE-2026-49214 — guzzlehttp/psr7 Khi xử lý địa chỉ web, thư viện không loại bỏ các ký tự điều khiển ẩn (như ký tự xuống dòng), về lý thuyết có thể bị lợi dụng để chèn dữ liệu trái phép vào yêu cầu gửi đi. Mức độ ảnh hưởng: Thấp đối với NukeViet. Chi tiết: CVE-2026-49214.

CVE-2026-48998 — guzzlehttp/psr7 Khi phân tích một yêu cầu HTTP thô, thư viện có thể bị đánh lừa về địa chỉ máy chủ đích, dẫn đến gửi dữ liệu nhầm nơi trong một số tình huống. Mức độ ảnh hưởng: Thấp đối với NukeViet; hệ thống không sử dụng các hàm bị ảnh hưởng. Vá để phòng ngừa. Chi tiết: CVE-2026-48998.

Các tệp đã sửa

TệpVá cho
includes/functions.php (hàm nv_check_domain)CVE-2026-46644
vendor/symfony/polyfill-intl-idn/Idn.phpCVE-2026-46644
vendor/guzzlehttp/psr7/src/Uri.phpCVE-2026-49214
vendor/guzzlehttp/psr7/src/Message.phpCVE-2026-48998

Tham chiếu bản vá gốc: Symfony polyfill — commit 1be936e · Guzzle PSR-7 — bản 2.10.2. Commit của NukeViet: Fix CVE-2026-46644, CVE-2026-49214, CVE-2026-48998.

Hướng dẫn cho người dùng

Nếu cập nhật qua gói chính thức của NukeViet, các tệp đã vá nằm sẵn trong gói, bạn không cần thao tác thêm.

Nếu bạn tự chạy composer update, lệnh này sẽ tải lại thư viện gốc và ghi đè mất bản vá. Khi đó hãy chép đè lại 3 tệp sau từ gói NukeViet chính thức:

vendor/symfony/polyfill-intl-idn/Idn.php
vendor/guzzlehttp/psr7/src/Uri.php
vendor/guzzlehttp/psr7/src/Message.php

Tệp includes/functions.php là tệp lõi NukeViet, không bị composer update ảnh hưởng.


Khuyến nghị nâng cấp NukeViet 4.6.00

Nguyên nhân của các vấn đề trên là dòng 4.5.x bị ràng buộc với PHP 5.6, không thể dùng trực tiếp bản vá mới của thư viện. NukeViet 4.6.00 chạy trên nền tảng PHP mới hơn (≥7.4.00), sử dụng được các phiên bản thư viện đã vá đầy đủ. Nếu hạ tầng cho phép, nên lên kế hoạch nâng cấp. Dòng 4.5.x vẫn được duy trì đến hết thời hạn hỗ trợ  17/07/2027.

Tác giả: Phan Tấn Dũng

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây