Tự đăng ký mặc định tạo tài khoản trái phép trong fuomag9 Caddy Proxy Manager

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Lỗ hổng CVE-2026-54907 là gì?

Lỗ hổng CVE-2026-54907 là lỗ hổng Initialization of a Resource with an Insecure Default ảnh hưởng tới caddy-proxy-manager (phiên bản bị ảnh hưởng: < 1.5.1). Lỗ hổng này được xếp hạng ở mức Trung bình, với điểm CVSS 5.3. Các nguồn hiện có chưa ghi nhận lỗ hổng này bị khai thác.

Giới thiệu chung

Dữ liệu gốc

Caddy Proxy Manager là một giao diện web để quản lý reverse proxy và certificate của Caddy Server. Trước phiên bản 1.5.1, Caddy Proxy Manager mặc định cho phép tự đăng ký bằng email và mật khẩu tại /api/auth/sign-up/email, cho phép một tác nhân từ xa chưa xác thực tạo tài khoản đang hoạt động với vai trò user mà không cần quản trị viên phê duyệt. Vai trò user không thể xem hoặc thay đổi dữ liệu proxy, vì vậy tác động trực tiếp bị giới hạn ở việc tạo trái phép các tài khoản có đặc quyền thấp. Cấu hình đã được sửa trong src/lib/config.ts và src/lib/auth-server.ts yêu cầu AUTH_ALLOW_SELF_REGISTRATION=true trước khi điều khiển disableSignUp của thư viện xác thực cho phép đăng ký. Vấn đề này được khắc phục trong phiên bản 1.5.1.

Sản phẩm và phạm vi ảnh hưởng

• Normalized record xác định sản phẩm caddy-proxy-manager của fuomag9 với các phiên bản < 1.5.1 là bị ảnh hưởng. • Advisory của nhà cung cấp liệt kê các phiên bản bị ảnh hưởng là < 1.5 và phiên bản đã vá là 1.5.1. • Release 1.5.1 được xác định là bản sửa lỗi. Sự khác biệt giữa < 1.5.1 và < 1.5 chưa được giải quyết trong bằng chứng hiện có, vì vậy không nên tự động coi các bản nằm ở ranh giới đó là an toàn nếu chưa đối chiếu với nhánh phát hành và cấu hình thực tế. • Lỗi liên quan đến việc tự đăng ký email/mật khẩu được bật mặc định; không có bằng chứng cho thấy mọi cấu hình xác thực khác của sản phẩm đều bị ảnh hưởng.

Chi tiết kỹ thuật

Đây là lỗi khởi tạo mặc định không an toàn trong cơ chế xác thực của Caddy Proxy Manager. Trước bản sửa, tính năng tự đăng ký bằng email và mật khẩu được bật mặc định tại /api/auth/sign-up/email, nên một tác nhân từ xa chưa xác thực có thể gửi yêu cầu đăng ký và nhận tài khoản đang hoạt động với vai trò user. Vai trò này không được phép xem hoặc thay đổi dữ liệu proxy, vì vậy bằng chứng hiện có không cho thấy đường dẫn trực tiếp tới quyền quản trị hoặc dữ liệu proxy.

Bản sửa bổ sung config.auth.allowSelfRegistration, được lấy từ biến môi trường AUTH_ALLOW_SELF_REGISTRATION === "true", rồi truyền giá trị phủ định vào disableSignUp trong src/lib/auth-server.ts. Khi cơ chế này bị tắt, kiểm thử của nhà phát triển xác nhận endpoint trả về lỗi EMAIL_PASSWORD_SIGN_UP_DISABLED; khi được bật có chủ đích, kiểm thử xác nhận việc đăng ký tạo tài khoản với vai trò user. Chi tiết triển khai của thư viện xác thực bên dưới và các giới hạn khác của vai trò user không được mô tả đầy đủ hơn trong các nguồn đã kiểm tra.

Khả năng khai thác

Lỗ hổng có thể bị truy cập qua mạng tại endpoint /api/auth/sign-up/email và không yêu cầu xác thực trước. Hồ sơ được cung cấp mô tả độ phức tạp thấp, không yêu cầu tương tác của người dùng và cho phép tác nhân từ xa tạo tài khoản mà không cần quản trị viên phê duyệt.

Điều kiện thực tế là instance phải cho phép tác nhân không tin cậy tiếp cận endpoint đăng ký. Khuyến nghị của nhà cung cấp là không để endpoint này lộ ra cho các tác nhân không xác định. Hồ sơ ghi nhận public_exploit là false và không đánh dấu vấn đề là đã bị khai thác; trạng thái đó không chứng minh rằng chưa từng có khai thác trong môi trường thực tế.

Tác động kỹ thuật

• Kết quả kỹ thuật được xác nhận là tạo một tài khoản đang hoạt động với vai trò user mà không cần phê duyệt quản trị viên. • Tác động bảo mật trực tiếp bị giới hạn: vai trò user không thể xem hoặc sửa dữ liệu proxy theo advisory của nhà cung cấp. • Không có bằng chứng đã xác nhận về leo thang đặc quyền, thay đổi cấu hình Caddy, truy cập dữ liệu proxy hoặc ảnh hưởng tính sẵn sàng của dịch vụ. • Về tổ chức, hậu quả thực tế có thể là tài khoản trái phép tồn tại trong hệ thống, phát sinh chi phí kiểm kê, thu hồi và xác minh tính hợp lệ của danh tính. Đây là hệ quả vận hành có thể xảy ra, không phải bằng chứng về một vụ xâm nhập cụ thể.

Tác động đến tổ chức

• Instance bị lộ có thể phát sinh các danh tính người dùng không được phê duyệt, làm sai lệch quy trình quản lý tài khoản và tạo thêm công việc rà soát, thu hồi hoặc điều tra. • Nguồn hiện có giới hạn quyền của vai trò user, không cho phép xem hoặc sửa dữ liệu proxy. Không có bằng chứng đã xác nhận về truy cập dữ liệu, thay đổi cấu hình proxy hoặc gián đoạn dịch vụ. • Rủi ro vận hành tập trung vào việc kiểm soát vòng đời tài khoản và khả năng nhầm lẫn giữa tài khoản hợp lệ với tài khoản được tạo tự động bởi người bên ngoài. • Mức độ ảnh hưởng thực tế phụ thuộc vào việc endpoint đăng ký có thể được truy cập từ các mạng hoặc tác nhân không tin cậy hay không.

Cách khắc phục

  1. Nâng cấp lên 1.5.1, là phiên bản được normalized record và advisory của nhà cung cấp xác định là đã sửa lỗi.
  2. Sau khi nâng cấp, cập nhật file Docker Compose theo bản phát hành 1.5.1 nếu triển khai bằng Docker Compose, vì ghi chú phát hành yêu cầu sử dụng file Compose từ release đó.
  3. Cho tới khi nâng cấp, không để /api/auth/sign-up/email có thể truy cập từ các tác nhân không xác định. Đây là workaround được nhà cung cấp nêu rõ.
  4. Trên mã đã được sửa, giữ AUTH_ALLOW_SELF_REGISTRATION ở false hoặc không đặt nếu không có nhu cầu nghiệp vụ mở đăng ký công khai. Chỉ đặt AUTH_ALLOW_SELF_REGISTRATION=true sau khi đã đánh giá và chấp thuận rõ ràng việc cho phép tự đăng ký.
  5. Rà soát và xử lý các tài khoản user được tạo trong thời gian instance có thể bị ảnh hưởng. Bằng chứng hiện có không chỉ ra yêu cầu phải thay đổi credential hoặc secret khác.

Cách phát hiện

  1. Kiểm kê các triển khai Caddy Proxy Manager và đối chiếu phiên bản với cả hai ranh giới được ghi nhận: normalized record đánh dấu < 1.5.1 là bị ảnh hưởng, trong khi advisory của nhà cung cấp liệt kê < 1.5 là bị ảnh hưởng.
  2. Trên bản đã được sửa, kiểm tra cấu hình Docker Compose hoặc biến môi trường AUTH_ALLOW_SELF_REGISTRATION. Giá trị mặc định phải là false hoặc không được đặt; giá trị true cho biết tự đăng ký đã được bật có chủ đích.
  3. Trong môi trường kiểm thử được kiểm soát, xác minh rằng yêu cầu tới /api/auth/sign-up/email bị từ chối khi tự đăng ký bị tắt và trả về mã EMAIL_PASSWORD_SIGN_UP_DISABLED.
  4. Rà soát dữ liệu tài khoản và audit log để tìm các tài khoản đang hoạt động với vai trò user được tạo mà không có phê duyệt quản trị viên. Có thể theo dõi thêm các yêu cầu tới endpoint đăng ký như một biện pháp giám sát phòng ngừa, nhưng nguồn hiện có không cung cấp IOC hoặc mẫu log cụ thể.

Việc không thấy sự kiện trong log không chứng minh instance an toàn, đặc biệt nếu log đăng ký hoặc log reverse proxy không được lưu giữ.

Nguồn (8)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.

Khám phá CyStack VulnScan