Lỗi XML external entity đe dọa tính toàn vẹn trong Red Hat jackson-mapper-asl

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-2019-10172 là gì?

Lỗ hổng CVE-2019-10172 là lỗ hổng Improper Restriction of XML External Entity Reference ảnh hưởng tới jackson-mapper-asl (phiên bản bị ảnh hưởng: 1.9.x). Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 7.5. Hiện chưa đủ dữ liệu để xác định lỗ hổng này đã bị khai thác hay chưa.

Giới thiệu chung

Dữ liệu gốc

Một lỗ hổng được phát hiện trong các thư viện org.codehaus.jackson:jackson-mapper-asl:1.9.x. Các lỗ hổng XML external entity tương tự CVE-2016-3720 cũng ảnh hưởng đến các thư viện codehaus jackson-mapper-asl, nhưng ở các class khác.

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

  • org.codehaus.jackson:jackson-mapper-asl thuộc dòng 1.9.x được đánh dấu là affected trong bản ghi chuẩn hóa.
  • Red Hat ghi nhận Red Hat Single Sign-On 7.3.3 phân phối jackson-mapper-asl-1.9.13.redhat-4.jar và được xem là bị ảnh hưởng; vấn đề được xử lý trong Red Hat Single Sign-On 7.3.8.
  • Red Hat ghi nhận vấn đề đã được xử lý cho Red Hat JBoss Enterprise Application Platform 7.2 trên RHEL 6, RHEL 7 và RHEL 8, cũng như Red Hat JBoss Enterprise Application Platform 7.3 trên RHEL 6, RHEL 7 và RHEL 8, thông qua các errata tương ứng.
  • Red Hat ghi nhận vấn đề đã được xử lý trong Red Hat Fuse 7.7.0, EAP-CD 20 Tech Preview và Red Hat Data Grid 7.3.7.
  • Với Debian 8 Jessie, gói libjackson-json-java được sửa trong 1.9.2-3+deb8u1. Với Debian buster, gói được sửa trong 1.9.13-2~deb10u1.
  • Red Hat từng đánh dấu Red Hat Mobile Application Platform và một số sản phẩm JBoss 6 nằm ngoài phạm vi hỗ trợ bảo mật cho vấn đề này; trạng thái đó không nên được diễn giải là sản phẩm không bị ảnh hưởng. Các nhánh, bản phân phối hoặc gói đóng gói khác không được nêu trên vẫn cần được xác minh riêng.

Chi tiết kỹ thuật

Điểm yếu thuộc CWE-611 trong org.codehaus.jackson:jackson-mapper-asl, nơi việc xử lý XML external entity không được hạn chế đầy đủ ở các class bị ảnh hưởng. Kẻ tấn công chỉ có thể khai thác thông qua luồng xử lý của ứng dụng có nhận hoặc xử lý XML chịu ảnh hưởng từ đầu vào của kẻ tấn công bằng thư viện dễ bị lỗi; đánh giá được cung cấp mô hình hóa luồng này là có thể truy cập qua mạng, không cần xác thực và không cần tương tác của người dùng. Bản ghi không nêu rõ các class, endpoint, định dạng XML hoặc cấu hình ứng dụng cụ thể, vì vậy không thể suy ra mức độ phơi nhiễm chỉ từ việc phát hiện file JAR. Lỗi được mô tả là tương tự một vấn đề XXE trước đó nhưng ảnh hưởng đến các class khác. Ghi chú thay đổi của các gói Debian cho biết bản sửa đã bật xử lý XML an toàn và vô hiệu hóa mở rộng entity, cho thấy kiểm soát entity expansion là ranh giới triển khai liên quan.

Khả năng khai thác

Đường khai thác được đánh giá là có thể truy cập qua mạng, độ phức tạp thấp, không yêu cầu quyền và không cần tương tác của người dùng. Điều kiện thực tế vẫn là phải có một ứng dụng hoặc dịch vụ đưa XML chịu ảnh hưởng từ đầu vào không tin cậy vào luồng xử lý của thư viện. Bản ghi không xác nhận việc khai thác đang diễn ra, exploit công khai hoặc sử dụng trong chiến dịch ransomware; trạng thái này là chưa rõ, không phải khẳng định không có khai thác. Các trường hợp chỉ dùng thư viện để xử lý XML nội bộ, không thể bị tác động bởi đầu vào không tin cậy, chưa được chứng minh là bị phơi nhiễm.

Tác động kỹ thuật

Khai thác thành công có thể khiến dữ liệu hoặc kết quả xử lý XML bị ảnh hưởng theo cách làm suy giảm tính toàn vẹn của ứng dụng. Đánh giá được cung cấp ghi nhận tác động cao đến tính toàn vẹn, nhưng không ghi nhận tác động đến tính bí mật hoặc tính sẵn sàng. Mức độ ảnh hưởng thực tế phụ thuộc vào code gọi thư viện, cấu hình parser và loại dữ liệu mà ứng dụng xử lý. Bản ghi không chứng minh được việc đọc file, SSRF, thực thi mã hoặc mất dịch vụ, vì vậy không nên mặc định các hậu quả đó.

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

Nếu một dịch vụ có thể đưa XML do bên ngoài kiểm soát vào luồng xử lý bị ảnh hưởng, dữ liệu hoặc kết quả xử lý mà ứng dụng tin cậy có thể bị tác động. Hậu quả vận hành có thể gồm phải rà soát các ứng dụng Java, application server và sản phẩm Red Hat đóng gói bản sao thư viện, sau đó triển khai nhiều bản cập nhật theo từng nhánh sản phẩm. Đánh giá được cung cấp xác định tác động đến tính toàn vẹn nhưng không xác định tác động đến tính bí mật hoặc tính sẵn sàng. Không có bằng chứng trong bản ghi cho thấy đã xảy ra rò rỉ dữ liệu, gián đoạn dịch vụ hoặc xâm nhập cụ thể.

Cách khắc phục

  1. Cập nhật gói hoặc sản phẩm lên bản sửa phù hợp với môi trường triển khai. Với Debian 8 Jessie, sử dụng libjackson-json-java 1.9.2-3+deb8u1. Với Debian buster, sử dụng libjackson-json-java 1.9.13-2~deb10u1.
  2. Với sản phẩm Red Hat, áp dụng errata tương ứng cho Red Hat JBoss Enterprise Application Platform 7.2 hoặc 7.3, Red Hat Single Sign-On 7.3.8, Red Hat Fuse 7.7.0, EAP-CD 20 Tech Preview và Red Hat Data Grid 7.3.7 khi các sản phẩm này nằm trong phạm vi triển khai.
  3. Ghi chú thay đổi của gói Debian cho biết bản sửa gồm bật Secure Processing trên DocumentBuilderFactory và đặt setExpandEntityReferences(false). Không nên tự động coi đây là bản vá thay thế cho mọi bản đóng gói khác nếu chưa xác minh với vendor hoặc maintainer.
  4. Bản ghi không xác nhận một bản phát hành upstream độc lập dùng làm mốc sửa chung cho toàn bộ dòng org.codehaus.jackson:jackson-mapper-asl 1.9.x. Nếu chưa có bản cập nhật được vendor hỗ trợ, hạn chế các đường xử lý XML bị ảnh hưởng khỏi đầu vào mạng không tin cậy như biện pháp giảm phơi nhiễm tạm thời, đồng thời tìm hướng dẫn hỗ trợ cụ thể.
  5. Sau khi cập nhật, xác minh artifact thực sự được nạp trong runtime, rà soát các bản sao JAR bị nhúng và kiểm tra lại mọi dịch vụ có xử lý XML từ nguồn bên ngoài.

Cách phát hiện

  1. Kiểm kê dependency trực tiếp và dependency truyền qua của ứng dụng Java, bao gồm các bản sao jackson-mapper-asl được đóng gói bên trong application server hoặc file JAR của sản phẩm.
  2. Đối chiếu artifact đang chạy với các nhánh và bản cập nhật đã được xác nhận trong phần affected_summary; không chỉ dựa vào trạng thái của package manager.
  3. Xác định các luồng gọi jackson-mapper-asl để phân tích XML và kiểm tra xem XML có thể bị gửi hoặc sửa bởi nguồn không tin cậy hay không.
  4. Kiểm tra cấu hình và hành vi của parser trong runtime, đặc biệt là việc hạn chế external entity và entity expansion.
  5. Có thể xem xét log ứng dụng và request để tìm lỗi xử lý XML bất thường như một biện pháp thận trọng, nhưng không có IOC hoặc mẫu log cụ thể nào được xác nhận cho lỗi này. Việc không thấy log như vậy không chứng minh hệ thống an toàn.
Nguồn (55)
redhat (CNA)
lists.apache.org
ra37700b842790883b9082e6b281fb7596f571b13078a4856cd38f2c2@<commits.cassandra.apache.org>r0066c1e862613de402fee04e81cbe00bcd64b64a2711beb9a13c3b25@<commits.cassandra.apache.org>r37eb6579fa0bf94a72b6c978e2fee96f68a2b1b3ac1b1ce60aee86cf@<commits.cassandra.apache.org>rb47911c179c9f3e8ea3f134b5645e63cd20c6fc63bd0b43ab5864bd1@<commits.cassandra.apache.org>re07c51a8026c11e6e5513bfdc66d52d1c1027053e480fb8073356257@<commits.cassandra.apache.org>re646dcc2739d92117bf9a76a33c600ed3b65e8b4e9b6f441e366b72b@<commits.cassandra.apache.org>r4bbfa1439d7a4e1712e260bfc3d90f7cf997abfd641cccde6432d4ab@<commits.cassandra.apache.org>r33d25a342af84102903cd9dec8338a5bcba3ecfce10505bdfe793b92@<common-issues.hadoop.apache.org>rd3a34d663e2a25b9ab1e8a1a94712cd5f100f098578aec79af48161e@<common-dev.hadoop.apache.org>r48a32f2dd6976d33f7a12b7e09ec7ea1895f8facba82b565587c28ac@<common-issues.hadoop.apache.org>rb8c09b14fd57d855dc21e0a037dc29258c2cbe9c1966bfff453a02e4@<common-issues.hadoop.apache.org>r386966780034aadee69ffd82d44555117c9339545b9ce990fe490a3e@<commits.cassandra.apache.org>r80e8882c86c9c17a57396a5ef7c4f08878d629a0291243411be0de3a@<commits.cassandra.apache.org>r68acf97f4526ba59a33cc6e592261ea4f85d890f99e79c82d57dd589@<issues.spark.apache.org>r43c6f75d203b8afc4fbd6c3200db0384a18a11c59d085b1a9bb0ccfe@<user.hadoop.apache.org>r1edabcfacdad42d3c830464e9cf07a9a489059a7b7a8642cf055542d@<issues.hive.apache.org>r6dea2a887f5eb1d68f124d64b14cd1a04f682f06de8cd01b7e4214e0@<issues.hive.apache.org>rce00a1c60f7df4b10e72fa87827c102f55b074bb91993631df2c21f9@<dev.hive.apache.org>r500867b74f42230a3d65b8aec31fc93ac390eeae737c91a759ab94cb@<issues.hive.apache.org>r5f16a1bd31a7e94ca78eda686179930781aa3a4a990cd55986703581@<dev.hive.apache.org>r0fbf2c60967bc9f73d7f5a62ad3b955789f9a14b950f42e99fca9b4e@<issues.hive.apache.org>r04ecadefb27cda84b699130b11b96427f1d8a7a4066d8292f7f15ed8@<common-issues.hadoop.apache.org>r356592d9874ab4bc9da4754592f8aa6edc894c95e17e58484bc2af7a@<issues.hive.apache.org>r1f07e61b3ebabd3e5b4aa97bf1b26d98b793fdfa29a23dac60633f55@<common-issues.hadoop.apache.org>r08e1b73fabd986dcd2ddd7d09480504d1472264bed2f19b1d2002a9c@<common-issues.hadoop.apache.org>r4176155240cdc36aad7869932d9c29551742c7fa630f209fb4a8e649@<common-issues.hadoop.apache.org>r0d8c3e32a0a2d8a0b6118f5b3487d363afdda80c996d7b930097383d@<common-issues.hadoop.apache.org>rb036bf32e4dacc49335e3bdc1be8e53d6f54df692ac8e2251a6884bd@<common-issues.hadoop.apache.org>r1cc8bce2cf3dfce08a64c4fa20bf38d33b56ad995cee2e382f522f83@<common-issues.hadoop.apache.org>r385c35a7c6f4acaacf37fe22922bb8e2aed9d322d0fa6dc1d45acddb@<commits.cassandra.apache.org>rd27730cfc3066dfcf15927c8e800603728d5dedf17eee1f8c6e3507c@<common-issues.hadoop.apache.org>r21ac3570ce865b8f1e5d26e492aeb714a6aaa53a0c9a6f72ef181556@<commits.cassandra.apache.org>r634468eb3218ab02713128ff6f4818c618622b2b3de4d958138dde49@<commits.cassandra.apache.org>
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.