Vào ngày 27 tháng 4 năm 2026, một nhà nghiên cứu bảo mật đã công bố rằng cấu hình cờ tính năng phía máy khách của ClickUp đã để lộ thông tin nhận dạng cá nhân. Cụ thể, 893 địa chỉ email của khách hàng đã bị nhúng vào các quy tắc nhắm mục tiêu cờ tính năng, cùng với một cờ tính năng đã tham chiếu không đúng cách đến token API của một khách hàng, được sử dụng trong quá trình ứng phó sự cố nhằm giới hạn lưu lượng truy cập từ không gian làm việc đó.
Chúng tôi lẽ ra phải phát hiện ra vấn đề này sớm hơn. Nhưng chúng tôi đã không thực hiện việc cần làm đó, và chúng tôi cần phải giải thích rõ ràng cho quý vị về những gì đã xảy ra, lý do tại sao, những biện pháp chúng tôi đã thực hiện để khắc phục tình hình hiện tại, cũng như cách thức chúng tôi sẽ cải thiện trong thời gian tới.
Bạn có bị ảnh hưởng không?
Vụ rò rỉ giới hạn ảnh hưởng đến 893 địa chỉ email của khách hàng được sử dụng trong các quy tắc nhắm mục tiêu tính năng nhằm kiểm soát những người dùng nào sẽ thấy các tính năng cụ thể trong quá trình triển khai.
Nếu bạn nhận được thông báo trực tiếp từ trước hoặc vào ngày 29 tháng 4 (đang diễn ra), địa chỉ email của bạn nằm trong danh sách được bao gồm trong cấu hình tính năng. Nếu bạn chưa nhận được thông báo từ chúng tôi, địa chỉ email của bạn không có trong danh sách các địa chỉ email.
- Không có nội dung nào trong không gian làm việc (công việc, tài liệu, tệp tin hoặc dữ liệu dự án) của bất kỳ khách hàng nào bị rò rỉ — ngoại trừ một trường hợp ngoại lệ tiềm ẩn được mô tả dưới đây.
- Không có mật khẩu, thông tin thanh toán hay thông tin đăng nhập tài khoản nào bị rò rỉ.
- Không có hệ thống xác thực nào bị xâm phạm.
Vấn đề kỹ thuật
ClickUp sử dụng Split.io (hiện là một phần của Harness) để quản lý cờ tính năng. Giống như hầu hết các SDK cờ tính năng phía trình duyệt, Split.io yêu cầu một khóa SDK phía client được nhúng trong gói JavaScript của ứng dụng. Khóa này được thiết kế để công khai và chính là cách SDK đánh giá các cờ tính năng cho người dùng hiện tại trong trình duyệt. Đây là hành vi tiêu chuẩn, đã được tài liệu hóa trên Split.io, LaunchDarkly và các nền tảng tương tự, và không phải là lỗ hổng bảo mật.
Vấn đề không nằm ở khóa. Điều quan trọng là những gì các kỹ sư của chúng tôi đã thiết lập trong các cấu hình cờ.
Về mặt kiến trúc, tình hình diễn ra như sau: các nền tảng cờ tính năng cho phép các kỹ sư nhắm mục tiêu đến những người dùng cụ thể khi triển khai tính năng. Các nhóm kỹ sư của ClickUp đã sử dụng địa chỉ email trực tiếp trong các quy tắc nhắm mục tiêu cờ. Một ví dụ là kích hoạt một tính năng cho một nhóm người thử nghiệm beta cụ thể. Điểm cuối splitChanges có thể truy vấn công khai của SDK Split.io trả về toàn bộ các định nghĩa cờ, bao gồm các quy tắc nhắm mục tiêu này. Điều này có nghĩa là bất kỳ ai có khóa phía máy khách (mà, một lần nữa, được đặt có chủ ý trong mã frontend của chúng tôi) đều có thể truy xuất các định nghĩa cờ đó và trích xuất các địa chỉ email được nhúng trong đó.
Các kỹ sư đã coi các cấu hình cờ tính năng như các công cụ nội bộ, trong khi theo thiết kế, kiến trúc SDK cho phép truy vấn công khai các cấu hình này. Điều đó đã khiến các địa chỉ email bị tích lũy tại một vị trí mà lẽ ra chúng không bao giờ nên xuất hiện. Việc cập nhật cờ tính năng yêu cầu phải qua một vòng đánh giá đồng nghiệp +1, tương tự như đối với mã. Bước đánh giá này đã không phát hiện ra vấn đề này.
Trường hợp ngoại lệ duy nhất – Một cờ được cấu hình để giới hạn tốc độ đối với một khách hàng duy nhất
Một kỹ sư trực ca đang xử lý vụ lạm dụng API đã đề cập đến token API của khách hàng trong cấu hình cờ giới hạn tốc độ nhằm điều tiết lưu lượng truy cập, khiến thông tin này có khả năng bị đọc được qua điểm cuối SDK. Điều này lẽ ra không bao giờ được xảy ra: thông tin xác thực không nên xuất hiện trong cấu hình cờ. Chúng tôi đã vô hiệu hóa token ngay lập tức, và tính đến thời điểm hiện tại, kết quả điều tra nhật ký của chúng tôi không cho thấy dấu hiệu nào về việc truy cập độc hại ngoài phạm vi điều tra của chính nhà nghiên cứu. Không có token khách hàng hoặc dữ liệu không gian làm việc nào khác bị truy cập, và chúng tôi đang làm việc trực tiếp với khách hàng này.
Điều gì đã bị phơi bày và điều gì thì không
| Yêu cầu | Kết quả nghiên cứu của chúng tôi |
| Khóa SDK được cài đặt cố định trong gói | Đúng như vậy và đó là thiết kế ban đầu. Đây là cách hoạt động của các SDK cờ tính năng phía trình duyệt. Không phải là một lỗ hổng bảo mật đơn thuần. |
| 893 địa chỉ email của khách hàng trong các quy tắc nhắm mục tiêu theo cờ | Thông tin chính xác tại thời điểm báo cáo. Tất cả các địa chỉ email của bên thứ ba đã được xóa vào lúc 03:25 UTC ngày 28 tháng 4. |
| Token API khách hàng đang hoạt động trong cấu hình cờ | Đã xác nhận. Được thêm vào ngày 7 tháng 10 năm 2025. Bị hủy bỏ vào ngày 27 tháng 4 năm 2026 lúc 12:05 UTC. |
| Quyền ghi vào Split.io | Đúng và là thiết kế có chủ đích. Các điểm cuối đo lường (sự kiện/bulk, testImpressions) của SDK trình duyệt chấp nhận các thao tác ghi dữ liệu như một phần của cơ chế hoạt động tiêu chuẩn của SDK. Đây không phải là lỗi cấu hình của ClickUp. |
| “Không có biện pháp khắc phục trong 15 tháng” | Thông tin bị hiểu nhầm; các ngày tháng là chính xác. Báo cáo phần thưởng lỗi ban đầu ngày 17 tháng 1 năm 2025 về khóa SDK không là kết quả của một công việc kỹ thuật vì bản thân khóa đó không phải là lỗ hổng bảo mật. Các địa chỉ email và cấu hình cờ mới là vấn đề thực sự và không được đề cập trong báo cáo ban đầu này. Các cấu hình cờ này chỉ được tiết lộ cho HackerOne vào ngày 8 tháng 4 năm 2026 và ClickUp chỉ biết đến chúng vào ngày 27 tháng 4 năm 2026. |
Dòng thời gian
Chúng tôi cam kết hoàn toàn minh bạch về những điểm mà quy trình của chúng tôi đã gặp trục trặc, bao gồm cả những sự cố từ nhà cung cấp chương trình thưởng lỗi bên thứ ba và các công cụ giao tiếp nội bộ của chính chúng tôi.
| Ngày | Sự kiện |
| 17/01/2025 | Một nhà nghiên cứu đã báo cáo vụ rò rỉ khóa SDK của Split.io lên chương trình thưởng lỗi của chúng tôi trên BugCrowd. Dựa trên nội dung báo cáo, vụ việc này đã được BugCrowd và ClickUp đánh dấu chính xác là “thông tin tham khảo”. |
| 03/06/2025 | ClickUp đã chuyển chương trình thưởng lỗi sang HackerOne. Tất cả các báo cáo trước đây đã được chuyển sang thành công, bao gồm cả vấn đề nêu trên. |
| 08/04/2026 | Nhà nghiên cứu có biệt danh impulsive đã đăng tải một báo cáo mới và chi tiết trên HackerOne, nêu rõ phạm vi ảnh hưởng mở rộng: 893 địa chỉ email của khách hàng trong các quy tắc phát hiện lỗ hổng, token API của khách hàng đang hoạt động, cùng các dữ liệu vận hành khác. |
| 10/04/2026 | Chuyên viên phân loại của HackerOne đã đóng báo cáo này một cách sai lầm với lý do đây là bản trùng lặp của báo cáo tháng 1 năm 2025, mà không nhận ra rằng báo cáo mới này ghi nhận tác động có sự khác biệt đáng kể và rộng hơn. Sau khi rà soát kỹ lưỡng hơn, chúng tôi đã phát hiện thêm hai đối tượng/kỳ/phiên bản báo cáo tương tự cũng bị đóng sai – một vào ngày 6 tháng 9 năm 2025 và một vào ngày 1 tháng 1 năm 2026 |
| 21/04/2026 | Nhà nghiên cứu đã phản đối quyết định đóng cửa này bằng cách cung cấp thêm thông tin chi tiết cho HackerOne. |
| 25/04/2026 | Nhà nghiên cứu đã tăng cường hành động: gửi email qua HackerOne cho CEO của ClickUp và địa chỉ security@clickup.com, đồng thời gửi tin nhắn trực tiếp (DM) cho ClickUp trên X, đồng thời đặt ra thời hạn công bố công khai vào ngày 2 tháng 5. Các email gửi cho CEO của ClickUp và địa chỉ security@ đã bị bộ lọc thư rác chặn lại và không đến được người nhận dự định. Các tin nhắn trực tiếp (DM) trên X gửi cho ClickUp cũng bị lọc tự động và không được đọc. |
| 27/04/2026 ~10:42 UTC | Nhà nghiên cứu công khai thông tin trên X. |
| 27/04/2026 11:06 UTC | ClickUp đã phát hiện sự cố. Sự cố đã được báo cáo. Quy trình ứng phó sự cố đã được khởi động và quy trình thay đổi token API của khách hàng đã được thực hiện. |
| 27/04/2026 12:53–14:12 UTC | Tiến hành dọn dẹp các cờ phân chia ban đầu trong các nhóm kỹ thuật. |
| 27/04/2026 ~ 17:00 UTC | Việc kiểm tra hoàn toàn tự động hóa đối với tất cả 4.809 cờ tính năng đã hoàn thành. |
| 27/04/2026 23:13 UTC | Các kỹ sư của ClickUp và Harness (Split) đang xem xét các chi tiết kỹ thuật. |
| 28/04/2026 03:25 UTC | Tất cả các địa chỉ email của khách hàng đã được xác nhận là đã bị xóa khỏi cấu hình cờ. Ghi chú: một số địa chỉ email của bên thứ ba vẫn được giữ lại trong hai cờ; liên quan đến việc sử dụng gian lận. |
Điểm mà quy trình của chúng tôi đã thất bại
Có ba vấn đề đã xảy ra ở đây, và chúng tôi muốn chỉ ra rõ ràng từng vấn đề. Chúng tôi sẽ thảo luận về các thay đổi trong phần tiếp theo.
1. Không có hành động tiếp theo nào được thực hiện dựa trên báo cáo ban đầu. Báo cáo về chương trình thưởng lỗi tháng 1 năm 2025 lẽ ra có thể dẫn đến một công việc kỹ thuật và việc rà soát các dữ liệu có trong cấu hình cờ (flag configs). Tuy nhiên, kết quả là điều đó đã không xảy ra. Chúng tôi đang cập nhật quy trình phân loại vấn đề để ngăn chặn tình trạng này lặp lại trong tương lai.
2. HackerOne đã xử lý sai việc đóng báo cáo trùng lặp. Báo cáo tháng 4 năm 2026 ghi nhận tác động mới đáng kể so với báo cáo tháng 1 năm 2025. HackerOne không nên đóng báo cáo này với lý do trùng lặp. Sau khi xem xét kỹ hơn, chúng tôi đã xác định được hai đối tượng/kỳ/phiên bản khác có báo cáo tương tự đã được đóng – một vào ngày 6 tháng 9 năm 2025 và một vào ngày 1 tháng 1 năm 2026. Chúng tôi đang làm việc với HackerOne để khắc phục những lỗ hổng trong quy trình phân loại của họ. Chúng tôi sẽ tiến hành xem xét lại tất cả các báo cáo của HackerOne để đảm bảo rằng chúng tôi không phụ thuộc vào quy trình của bên thứ ba trong tương lai.
3. Dịch vụ email của chúng tôi đã đánh dấu email khiếu nại của nhà nghiên cứu là thư rác. Vào thứ Bảy, ngày 25 tháng 4, nhà nghiên cứu đã gửi email cho cả Giám đốc điều hành của chúng tôi và địa chỉ bảo mật@clickup.com, đồng thời gửi tin nhắn trực tiếp (DM) đến tài khoản X của ClickUp.
Chúng tôi chỉ phát hiện ra những email này sau khi bài đăng trên X được công khai. Chúng được phát hiện sau một cuộc điều tra nội bộ về các thư mục thư rác và hệ thống lọc tin nhắn trực tiếp (DM) trên X.
Chúng tôi đang cập nhật quy trình lọc email và kiểm duyệt thư rác để đảm bảo các thông tin liên lạc đến liên quan đến bảo mật không bị loại bỏ mà không có thông báo.
Không có lý do nào trong số này có thể bào chữa cho vấn đề cốt lõi: ngay từ đầu, dữ liệu khách hàng lẽ ra không bao giờ được đưa vào các cấu hình cờ tính năng của chúng tôi.
Những gì chúng tôi đã hoàn thành
Ngay lập tức (đã hoàn thành)
- Đã vô hiệu hóa token API của khách hàng bị lộ.
- Đã xóa tất cả địa chỉ email của khách hàng khỏi các cấu hình cờ tính năng.
- Đã ban hành một chỉ thị áp dụng cho toàn bộ bộ phận kỹ thuật, cấm sử dụng thông tin nhận dạng cá nhân (PII) hoặc thông tin đăng nhập trong các cấu hình cờ.
- Đã hoàn thành việc kiểm tra toàn diện tất cả các cờ tính năng liên quan đến thông tin cá nhân (PII), thông tin đăng nhập và dữ liệu nhạy cảm.
Ngắn hạn (tiến độ đang thực hiện)
- Đã cập nhật các quy tắc lọc email để đảm bảo rằng địa chỉ security@ClickUp hiển thị tất cả các thông báo bảo mật đến, đồng thời bổ sung một bước quy trình để kiểm tra (một cách an toàn) các tin nhắn spam.
- Rà soát quy trình phân loại các báo cáo lỗi thông qua chương trình thưởng lỗi (bug bounty) với HackerOne nhằm ngăn chặn việc các báo cáo hợp lệ bị đóng sai.
- Đào tạo các chuyên viên đánh giá tính năng về các nội dung được phê duyệt.
Dài hạn
- Tự động hóa quét tất cả các cấu hình cờ tính năng để phát hiện các mẫu thông tin cá nhân (địa chỉ email, token, khóa API) mỗi khi có thay đổi cờ, kèm theo cơ chế chặn tự động.
- Một quy trình tự động hóa và bộ công cụ để rà soát tất cả các quyết định phân loại của HackerOne.
- Áp dụng một máy chủ proxy hoặc biện pháp kỹ thuật để tách biệt các cờ phía trước (front-end) và các cờ phía sau (back-end).
Một ghi chú về nhà nghiên cứu
Ngay sau khi ClickUp liên hệ với nhà nghiên cứu đã tiết lộ thông tin này, người sử dụng biệt danh impulsive / @weezerOSINT, họ đã hành động một cách có trách nhiệm và cung cấp đầy đủ mọi thông tin được yêu cầu.
Nhà nghiên cứu, hoạt động dưới biệt danh impulsive / @weezerOSINT, đã báo cáo qua các kênh chính thức (HackerOne, sau đó là email trực tiếp đến bảo mật@ClickUp.com và Giám đốc điều hành của chúng tôi) và đã hợp tác một cách xây dựng khi chúng tôi liên hệ. Các quy trình nội bộ của chúng tôi đã không kịp thời phát hiện báo cáo và các yêu cầu xử lý khẩn cấp của họ.
Sau khi thực hiện công việc với nhà nghiên cứu, ClickUp đã nhận được tin nhắn sau vào lúc 1:47 UTC ngày 28 tháng 4: “Cảm ơn [ClickUp], tôi thực sự đánh giá cao sự nhanh chóng của các bạn trong việc xử lý vấn đề này. Đây không phải là điều tôi thường thấy và nó thực sự tạo nên sự khác biệt.”
ClickUp đang trao thưởng cho nhà nghiên cứu này thông qua chương trình tiền thưởng phát hiện lỗ hổng bảo mật. Chúng tôi khuyến khích các nhà nghiên cứu khác tham gia chương trình tiền thưởng phát hiện lỗ hổng bảo mật của chúng tôi, báo cáo một cách có trách nhiệm thông qua Chương trình Tiết lộ Lỗ hổng Bảo mật, hoặc gửi email trực tiếp đến địa chỉ security@clickup.com.
Tóm tắt
Dữ liệu bị rò rỉ trong sự cố này chỉ giới hạn ở 893 địa chỉ email – không có nội dung không gian làm việc, mật khẩu hay dữ liệu thanh toán của bất kỳ khách hàng nào bị ảnh hưởng, ngoại trừ một khách hàng duy nhất được đề cập ở trên – chúng tôi đang làm việc trực tiếp với khách hàng này để xác minh rằng khóa truy cập không bị truy cập trái phép.
Chúng tôi xin chân thành xin lỗi quý khách hàng về sự cố này và sẽ nỗ lực hết sức để đảm bảo rằng điều tương tự sẽ không bao giờ xảy ra nữa.
Chúng tôi sẽ cập nhật bài đăng này nếu có thông tin mới. Nếu bạn có thắc mắc, vui lòng liên hệ với bảo mật@ClickUp.com.
