Skip to main content

Báo động đỏ CVE-2026-21589: Lỗ hổng CVSS 9.3 đe dọa "trục xương sống" Atlassian của doanh nghiệp

Updated 16 min readMarkdown
Part of seriesNewsletters
Báo động đỏ CVE-2026-21589: Lỗ hổng CVSS 9.3 đe dọa "trục xương sống" Atlassian của doanh nghiệp

Giới Thiệu Về Atlassian

Tổng quan về Atlassian

  • Atlassian là một công ty phần mềm doanh nghiệp hàng đầu thế giới được thành lập tại Úc. Công ty chuyên cung cấp các công cụ hỗ trợ làm việc nhóm, theo dõi tiến độ dự án, phát triển phần mềm và quản lý dịch vụ CNTT.
  • Các sản phẩm của Atlassian được thiết kế để liên kết chặt chẽ với nhau, giúp các đội ngũ từ kỹ thuật (lập trình, IT) đến kinh doanh (nhân sự, marketing) phối hợp công việc một cách liền mạch, minh bạch và hiệu quả.

Các sản phẩm và dịch vụ chính của Atlassian

  • Jira Software: Là công cụ quản lý dự án và theo dõi lỗi (issue tracking) phổ biến nhất hiện nay. Hỗ trợ các phương pháp làm việc Agile (Scrum, Kanban), giúp các đội ngũ lập kế hoạch, phân chia công việc và theo dõi tiến độ phát hành sản phẩm.
  • Confluence: Là không gian làm việc số và quản lý tri thức nội bộ (wiki doanh nghiệp). Cho phép các thành viên cùng nhau tạo, lưu trữ và chia sẻ tài liệu dự án, sơ đồ kỹ thuật và quy trình làm việc.
  • Bitbucket: Là dịch vụ lưu trữ và quản lý mã nguồn dựa trên Git dành cho các nhóm lập trình. Tích hợp sâu với Jira để tự động cập nhật trạng thái công việc khi có thay đổi trong mã nguồn.
  • Jira Service Management (JSM): Là nền tảng quản lý dịch vụ CNTT (ITSM) và bàn hỗ trợ (Helpdesk). Cho phép tiếp nhận, xử lý sự cố, yêu cầu kỹ thuật và hỗ trợ khách hàng một cách chuyên nghiệp.
  • Trello: Là công cụ quản lý công việc trực quan dạng bảng kéo-thả (Kanban board). Thích hợp cho các cá nhân hoặc nhóm nhỏ cần quản lý công việc hàng ngày một cách đơn giản, nhanh chóng.
  • Bamboo: Là máy chủ tự động hóa việc đóng gói và kiểm thử phần mềm (CI/CD), giúp chuyển đổi mã nguồn từ các lập trình viên thành các bản dựng sẵn sàng triển khai.
  • Atlassian Crowd: Là giải pháp quản lý danh tính và đăng nhập một lần (SSO) trên máy chủ nội bộ, cho phép nhân viên chỉ cần dùng một tài khoản duy nhất để đăng nhập vào Jira, Confluence và Bitbucket.

Các mô hình triển khai của Atlassian

  • Atlassian Cloud: Là phiên bản phần mềm dạng dịch vụ (SaaS) được lưu trữ và vận hành trực tiếp trên hạ tầng đám mây của Atlassian. Người dùng chỉ cần đăng ký là có thể sử dụng ngay, tự động cập nhật tính năng mới mà không cần cài đặt hay bảo trì máy chủ.
  • Atlassian Data Center: Là phiên bản dành cho các doanh nghiệp lớn cần cài đặt trên hệ thống máy chủ riêng (on-premises hoặc private cloud). Cung cấp khả năng mở rộng cụm máy chủ (clustering), đảm bảo tính sẵn sàng cao, hiệu năng ổn định và toàn quyền kiểm soát về an toàn dữ liệu.

Bối Cảnh Kỹ Thuật Cà Các Phiên Bản Bị Ảnh Hưởng

Ngày 05/10/2026, Atlassian phát hành bản tin bảo mật khẩn cấp cảnh báo về lỗ hổng Arbitrary File Access mang mã định danh CVE-2026-21589.

  • CVE ID: CVE-2026-21589
  • CVSS v4.0 Score: 9.3 (Critical)
  • CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H (Theo đánh giá chính thức của Atlassian)
  • CWE: CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) / CWE-23 (Relative Path Traversal)
  • Attack Vector: Mạng (Network), không yêu cầu đặc quyền (PR:N), không cần tương tác người dùng (UI:N), độ phức tạp khai thác thấp (AC:L).

Lỗ hổng ảnh hưởng đến toàn bộ phiên bản phát hành trước các bản vá tương ứng trên 8 sản phẩm Data Center:

Sản phẩm Phiên bản ảnh hưởng Phiên bản đã vá (Fixed LTS)
Bitbucket Data Center Toàn bộ phiên bản trước bản vá 9.4.26, 10.2.8, 10.5.1
Confluence Data Center Toàn bộ phiên bản trước bản vá 9.2.26, 10.2.19
Jira Software Data Center Toàn bộ phiên bản trước bản vá 9.12.40, 10.3.26, 11.3.12
Jira Service Management Data Center Toàn bộ phiên bản trước bản vá 5.12.40, 10.3.26, 11.3.12
Bamboo Data Center Toàn bộ phiên bản trước bản vá 10.2.24, 12.1.12
Crowd Data Center Toàn bộ phiên bản trước bản vá 6.3.7, 7.0.3, 7.1.7, 7.2.4
Crucible Toàn bộ phiên bản trước bản vá 4.9.15
Fisheye Toàn bộ phiên bản trước bản vá 4.9.15

Phân Tích Lỗ Hổng

Việc một lỗ hổng xuất hiện đồng thời trên cả 8 sản phẩm cốt lõi của Atlassian phản ánh sự tồn tại của một thành phần mã nguồn dùng chung bị lỗi. Quá trình đối soát nhị phân (binary diffing) giữa bản cài đặt có lỗ hổng và bản vá đã khoanh vùng chính xác thành phần gây lỗi nằm trong thư viện: atlassian-plugins-webresource*.jar

Cụ thể, việc so sánh giữa atlassian-plugins-webresource-6.0.7.jar và atlassian-plugins-webresource-6.0.8.jar làm lộ diện căn nguyên kỹ thuật của phương thức khai thác.

Căn nguyên lỗi tại lớp Router: Bypass qua ký tự ::

Bên trong gói com.atlassian.plugin.webresource.impl.http.Router.java, Atlassian định nghĩa các hàm xử lý định tuyến tài nguyên web. Đáng chú ý là phương thức chuyển đổi đường dẫn:

Hàm unescapeSlashes thay thế toàn bộ chuỗi hai dấu hai chấm :: thành dấu gạch chéo /. Đây là cơ chế nội bộ được thiết kế nhằm phục vụ việc serialize/deserialize URL tài nguyên mà không làm xung đột với cấu trúc đường dẫn URL HTTP chuẩn.

Tuy nhiên, cơ chế này vô tình mở ra một lỗ hổng Path Traversal nghiêm trọng. Khi kẻ tấn công gửi chuỗi ký tự dạng ..::..::..::, toàn bộ các cơ chế kiểm tra bảo mật ở tầng biên (WAF, Reverse Proxy, Servlet Filter) chỉ tìm kiếm chuỗi duyệt thư mục truyền thống (../, ..\, %2e%2e%2f). Khi truy vấn vượt qua tầng kiểm tra biên và đi vào bộ định tuyến Router.java, hàm unescapeSlashes mới được kích hoạt, chuyển đổi ..:: thành ../ ngay trước khi tài nguyên được đọc từ đĩa cứng.

Luồng gọi hàm và Sink đọc tài nguyên

Trong Router.java, các route phục vụ tài nguyên tĩnh được khai báo như sau:

Sau khi giải mã dấu gạch chéo, hàm chuyển tiếp xử lý đến com.atlassian.plugin.webresource.impl.helpers.ResourceServingHelpers.java. Tại đây, phương thức getResourceRelativeToWebResource() được gọi:

Dù đã được đánh dấu @Deprecated, hàm này vẫn được kích hoạt trong luồng thực thi mặc định. Phương thức createResourceWithRelativePath() trực tiếp nhận giá trị filePath chứa đường dẫn tương đối đã bị kẻ tấn công can thiệp, sau đó đọc nội dung tệp tin từ hệ thống tệp cục bộ mà không có kiểm tra path containment (kiểm tra giới hạn thư mục gốc).

Điểm kích hoạt (Trigger Point) trên các sản phẩm

Để kích hoạt luồng đọc file, kẻ tấn công cần nhắm vào một plugin module có tài nguyên kết thúc bằng dấu gạch chéo / trong tệp cấu hình plugin (cho phép ghép tiếp tên tệp tùy ý).

Trong jira-webresources-plugin.jar, điểm kích hoạt xuất hiện tại tài nguyên popup chọn màu:

Bằng cách nhắm vào endpoint tương ứng kết hợp với chuỗi traversal ..::, kẻ tấn công có thể truy xuất tệp cấu hình ứng dụng web.xml:

GET /download/resources/jira.webresources:color-picker-popup/images/..::..::..::..::..::WEB-INF::web.xml HTTP/1.1

Host: jira.victim.com

Máy chủ phản hồi nội dung nguyên bản của tệp:

Mẫu truy vấn tương tự cũng hoạt động trên các sản phẩm khác:

  • Confluence: GET /s/1/_/download/resources/com.atlassian.confluence.plugins.dashboard-actions/images/..::..::..::..::..::..::..::..::WEB-INF::web.xml HTTP/1.1
  • Bitbucket: GET /s/1.0/_/download/resources/com.atlassian.bitbucket.server.bitbucket-webpack-INTERNAL:avatar/avatar/..::..::..::..::..::WEB-INF::urlrewrite.xml HTTP/1.1

Do hạn chế của ngữ cảnh Tomcat Container, chuỗi traversal này không thể thoát ra ngoài hệ điều hành (không đọc được /etc/shadow hay C:\Windows\System32), đồng thời không hỗ trợ liệt kê danh mục thư mục (directory enumeration). Tuy nhiên, khả năng đọc bất kỳ tệp tin nào trong WEB-INF/ đã đủ để tạo tiền đề cho một cuộc tấn công thâu tóm hệ thống.

Chuỗi leo thang đặc quyền: Từ File Read đến Jira Administrator qua Crowd

Mức độ nguy hiểm thực sự của CVE-2026-21589 bộc lộ rõ nhất trong các doanh nghiệp sử dụng Atlassian Crowd làm máy chủ định danh tập trung (SSO/IAM) cho toàn bộ hạ tầng Atlassian.

Khi Jira được cấu hình kết nối với Crowd, thông tin xác thực ứng dụng được lưu trực tiếp tại tệp: WEB-INF/classes/crowd.properties

Khai thác lỗ hổng để đọc tệp tin này:

GET /download/resources/jira.webresources:color-picker-popup/images/..::..::..::..::..::WEB-INF::classes::crowd.properties HTTP/1.1 Host: jira.victim.com

Kết quả trả về chứa thông tin xác thực ứng dụng ở dạng bản rõ:

Nắm được application.name và application.password, kẻ tấn công xác thực trực tiếp với Crowd REST API với quyền hạn của chính ứng dụng Jira. Từ đây, tin tặc thực hiện chuỗi hai bước để tạo cửa sau hoàn chỉnh:

Bước 1: Tạo tài khoản người dùng mới trên Crowd:

Bước 2: Gán người dùng vào nhóm quản trị viên tối cao:

Sau bước này, kẻ tấn công quay lại giao diện đăng nhập web của Jira, đăng nhập bằng tài khoản backdoor_admin và nắm toàn bộ quyền kiểm soát cao nhất (Jira Administrator), cho phép cài đặt các plugin độc hại nhằm đạt được Remote Code Execution (RCE) trên máy chủ.

Ghi Nhận Khai Thác Thực Tế Và Tình Trạng PoC

Theo bản tin phát hành ngày 05/10/2026 của Atlassian, hãng chưa ghi nhận các vụ tấn công khai thác diện rộng nhằm vào khách hàng Cloud tại thời điểm phát hành bản vá. Tuy nhiên, tính chất nguy hiểm của lỗ hổng đã thu hút sự chú ý đặc biệt từ giới nghiên cứu bảo mật và các nhóm đe dọa.

  • Tình trạng PoC: Ngày 06/10/2026, đội ngũ nghiên cứu watchTowr Labs đã công bố bài phân tích chi tiết kèm mã nguồn công cụ rà quét (Detection Artefact Generator - DAG) trên GitHub (watchTowrlabs/watchTowr-vs-Atlassian-CVE-2026-21589). Công cụ này tự động gửi payload thăm dò đến cả 3 mục tiêu Jira, Confluence và Bitbucket.
  • Vũ khí hóa mã khai thác: Mã khai thác hoàn chỉnh từ đọc file đến tạo tài khoản Jira Administrator qua Crowd đã được trình diễn chi tiết. Do tính chất pre-auth và payload đơn giản, nguy cơ lỗ hổng bị tự động hóa đưa vào các botnet rà quét diện rộng là tức thì.

MITRE ATT&CK

Chuỗi tấn công hoàn chỉnh kết hợp giữa việc khai thác lỗ hổng web và lạm dụng API quản trị định danh được ánh xạ cụ thể theo chuẩn MITRE ATT&CK:

Giai đoạn (Tactic) Kỹ thuật (Technique) Mã định danh Mô tả chi tiết hành vi
Initial Access Exploit Public-Facing Application T1190 Khai thác lỗ hổng duyệt file ..:: qua webresource endpoint không cần đăng nhập.
Credential Access Unsecured Credentials: Credentials in Files T1552.001 Trích xuất mật khẩu bản rõ của ứng dụng từ file WEB-INF/classes/crowd.properties.
Persistence Create Account: Cloud / Enterprise Accounts T1136.003 Sử dụng Crowd REST API để tạo tài khoản người dùng backdoor mới trên thư mục tập trung.
Privilege Escalation Valid Accounts: Cloud / Enterprise Accounts T1078.004 Đưa tài khoản mới tạo vào nhóm quản trị viên jira-administrators để chiếm toàn quyền ứng dụng.

Phương Thức Phát hiện Và Biện Pháp Phòng Thủ

Để bảo vệ hệ thống trước khi hoàn tất cập nhật phiên bản, đội ngũ vận hành cần kết hợp các biện pháp giám sát log, áp dụng quy tắc lọc tại WAF và cấu hình chặn tại tầng máy chủ ứng dụng.

Logic phát hiện trên Access Log máy chủ Web / Reverse Proxy

Kẻ tấn công có thể sử dụng nhiều lớp mã hóa URL để né tránh phát hiện (ví dụ: %3a%3a thay cho ::, hoặc double URL encoding %253a%253a). Do đó, quy trình phân tích log cần tiến hành URL-decode tối thiểu hai lần trước khi so khớp chuỗi.

Dấu hiệu nhận diện trên log:

  • Truy vấn nhắm vào các đường dẫn tài nguyên:
    • /download/resources/
    • /s/*/_/download/resources/
  • Chứa các chuỗi ký tự sau:
    • :: đi liền với .. (ví dụ: ..:: hoặc ::..)
    • .. nằm liền kề với /, \, hoặc ::
    • Tên tệp tin nhạy cảm: web.xml, crowd.properties, urlrewrite.xml, database.properties

Cấu hình WAF ngăn chặn khẩn cấp

Atlassian khuyến nghị cấu hình quy tắc regex trên thiết bị tường lửa ứng dụng web (Cloudflare, AWS WAF, F5 BIG-IP, Nginx):

(?is).*(?:/|\\|::|%(?:25)*(?:2f|5c)|(?::|%(?:25)*3a){2})(?:\.|%(?:25)*2e){2}(?:/|\\|::|%(?:25)*(?:2f|5c)|(?::|%(?:25)*3a){2}|;|%(?:25)*3b|$).*

Giải pháp giảm thiểu tạm thời (Workaround khi chưa thể patch)

Nếu chưa thể sắp xếp downtime để nâng cấp phiên bản ngay, quản trị viên bắt buộc phải cấu hình bộ lọc trên máy chủ ứng dụng:

  1. Sử dụng Apache Tomcat RewriteValve (Cho Jira, Confluence, Bamboo, Crowd):
  • Mở tệp tin conf/server.xml (trên Confluence, Jira, Bamboo) hoặc apache-tomcat/conf/server.xml (trên Crowd).

  • Thêm cấu hình Valve bên trong thẻ <Host name="localhost" ...>: <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />

  • Tạo hoặc chỉnh sửa tệp conf/Catalina/localhost/rewrite.config:

    RewriteCond %{REQUEST_URI} ^.(..::|::..).$ [NC,OR]\ RewriteCond %{REQUEST_URI} ^.WEB-INF.$ [NC]\ RewriteRule ^.*$ - [F]

  • Khởi động lại dịch vụ trên từng node trong cụm cluster.

  1. Sử dụng urlrewrite.xml (Dành riêng cho Bitbucket Data Center):
  • Mở tệp cấu hình URL rewrite của Bitbucket và bổ sung rule chặn các truy vấn chứa chuỗi ::.
  1. Giới hạn truy cập mạng (Network ACL) cho Atlassian Crow

Nhận Định Chuyên Gia

Điểm CVSS v4.0 đạt 9.3 phản ánh rất chính xác mức độ nguy hại của CVE-2026-21589. Dù chỉ là một lỗi Arbitrary File Access và bị giới hạn trong phạm vi container ứng dụng, sự tồn tại của các tệp tin cấu hình chứa mật khẩu bản rõ của các thành phần tích hợp (như Atlassian Crowd) đã biến một lỗi đọc file thành bàn đạp leo thang đặc quyền toàn diện.

Tại Việt Nam, các sản phẩm Atlassian Data Center như Jira, Confluence và Bitbucket đóng vai trò là "trục xương sống" trong hoạt động phát triển phần mềm, quản lý dự án và lưu trữ tài liệu kỹ thuật của hầu hết các ngân hàng, tổ chức tài chính, doanh nghiệp viễn thông và các tập đoàn công nghệ lớn. Khảo sát thực tế từ các hoạt động giám sát an toàn thông tin cho thấy, nhiều tổ chức đang public trực tiếp giao diện Jira Service Management (để tiếp nhận yêu cầu hỗ trợ khách hàng) hoặc cổng Confluence ra Internet. Đây là bề mặt tấn công cực kỳ béo bở.

Xét về mặt xu hướng tấn công, CVE-2026-21589 cho thấy một bước tiến mới trong kỹ thuật vượt rào:

  1. Sử dụng ký tự phân cách phi truyền thống: Thay vì sử dụng dấu gạch chéo tiêu chuẩn, việc ứng dụng tự biến đổi chuỗi :: thành dấu phân cách thư mục làm vô hiệu hóa hàng loạt chữ ký WAF dựa trên danh sách đen truyền thống.
  2. Khai thác kiến trúc tích hợp nội bộ: Tin tặc hiện đại không chỉ tìm kiếm RCE trực tiếp qua deserialization hay injection, mà tập trung khai thác điểm yếu trong kiến trúc xác thực liên ứng dụng (Identity Brokerage). Việc crowd.properties lưu mật khẩu không mã hóa là một món hời lớn cho bất kỳ chuỗi tấn công nào có được quyền đọc file.

Khuyến Nghị Hành Động

Immediate (0 - 24 giờ)

  • Kiểm tra phơi nhiễm: Rà soát toàn bộ các máy chủ Atlassian đang có giao diện mở ra Internet. Nếu không bắt buộc phục vụ công cộng, hãy đưa ngay hệ thống về sau mạng nội bộ hoặc qua cổng VPN/ZTNA.
  • Áp dụng bộ lọc WAF khẩn cấp: Đưa regex chặn chuỗi :: và .. vào hệ thống tường lửa web trước khi thực hiện cập nhật mã nguồn.
  • Rà soát tự động: Sử dụng công cụ DAG nội bộ để kiểm tra xem các phiên bản Jira, Confluence, Bitbucket hiện tại có phản hồi với payload thử nghiệm hay không.

Short-term (1 - 7 ngày)

  • Nâng cấp bản vá chính thức: Lên kế hoạch bảo trì và cập nhật toàn bộ cụm máy chủ Data Center lên các phiên bản cố định đã vá (Jira 9.12.40 / 10.3.26 / 11.3.12; Confluence 9.2.26 / 10.2.19; Bitbucket 9.4.26 / 10.2.8 / 10.5.1...).
  • Khóa chặt cổng Atlassian Crowd: Cấu hình Access Control List (ACL) nghiêm ngặt tại switch/firewall nội bộ, chỉ cho phép địa chỉ IP cụ thể của máy chủ Jira/Confluence được phép kết nối đến cổng 8095 của Crowd.
  • Rà quét dấu vết xâm phạm (Threat Hunting): Kiểm tra lại toàn bộ access log trong 60 ngày gần nhất để phát hiện các request thăm dò chứa chuỗi ..:: hoặc truy cập bất thường vào crowd.properties. Đồng thời rà soát danh sách tài khoản thuộc nhóm jira-administrators trên cả Jira và Crowd để phát hiện các tài khoản lạ được tạo gần đây.

Long-term

  • Quản lý mật khẩu cấu hình an toàn: Tránh lưu mật khẩu dạng bản rõ trong các tệp properties; áp dụng giải pháp lưu trữ bí mật tập trung (như HashiCorp Vault) hoặc các module bảo mật hỗ trợ mã hóa credential khi tích hợp.
  • Giám sát tính toàn vẹn tệp tin (FIM): Thiết lập các công cụ EDR/FIM để giám sát chặt chẽ mọi hành vi ghi hoặc sửa đổi tệp tin trong thư mục WEB-INF/ và thư mục cài đặt của Tomcat.
  • Chuyển dịch sang kiến trúc Zero Trust (ZTNA): Hạn chế tối đa việc mở trực tiếp các công cụ cộng tác nội bộ (như Jira/Confluence/Bitbucket) ra Internet công cộng, thay thế bằng các giải pháp truy cập dựa trên danh tính và xác thực đa yếu tố (MFA).

Tài Liệu Tham Khảo

CVE-2026-21589: Critical Atlassian File Access Flaw

You Won’t Hear About These, Even In Myths (Atlassian Jira, Confluence (and more) Pre-Auth Arbitrary File Read CVE-2026-21589)

CVE-2026-21589 - Arbitrary File Access Vulnerability impacts Multiple Products | Atlassian Support | Atlassian Documentation

CVE-2026-21589: Critical Pre-Authentication File Read Affects Atlassian Data Center Products | Imperva

No comments yet. Be the first to comment.