2015-11-12 10 views
5

Hôm qua bố về de-serialization dễ bị tổn thương (CVE-2015-4852):SpringFramework có sử dụng InvokerTransformer từ commons.collections không?

https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread

Spring Framework sử dụng commons.collections.

Nếu SpringFramework sử dụng InvokerTransformer, nó có thể dễ bị tổn thương do lỗ hổng de-serialization (CVE-2015-4852).

Câu hỏi SpringFramework sử dụng InvokerTransformer từ commons.collections?

+0

Bạn đã thử grepping mã nguồn? – Marged

+0

Tôi sẽ tải xuống mã nguồn grep. Có thể ai đó đã có mã số và có thể grep :) – Michael

+0

Không phải là câu hỏi quan trọng hơn bất cứ điều gì cho dù trong Cơ cấu mùa xuân unserializes đối tượng serialized dùng cung cấp? Vào thời điểm đó, nếu commons-bộ sưu tập được trình bày (kể từ khi vuln crafted sử dụng 'InvokerTransform') và Xuân được đưa một đối tượng đăng, bạn có nguy cơ. –

Trả lời

4

3. Cập nhật: Đó là câu trả lời Jürgen Holler để Jira issues tôi:

Spring Framework không sử dụng Commons Bộ sưu tập dưới mọi hình thức. Nếu bạn có trên đường dẫn lớp của mình, nó có thể chỉ nằm sau một phụ thuộc khác mà bạn đã chọn, chẳng hạn như OpenJPA.

Điều đó nói rằng, chúng tôi có một vấn đề liên quan trong SPR-13656 nơi chúng tôi đã sửa chữa một lớp học của chúng ta để ngăn chặn lạm dụng trong các tình huống như vậy. Lưu ý rằng điều này chỉ quan trọng nếu bạn đang phơi bày các điểm cuối nối tiếp nối tiếp tới các máy khách không đáng tin cậy. Mùa xuân không làm bất kỳ tiếp xúc nào như vậy theo mặc định; nó là một cái gì đó mà ứng dụng của bạn rõ ràng là chọn tham gia thông qua việc sử dụng HTTP Invoker hoặc RMI Invoker.

Juergen


2. Cập nhật: Spring Framework Version 4.2.3 và 4.1.9 aren't vulnerable đến một vấn đề có liên quan.


Tôi đã tìm kiếm các dự án spring-framework và không tìm thấy bất kỳ sử dụng org.apache.commons.collections.(Transformer|InvokerTransformer|MapTransformer) cho đến nay. Điều này không có nghĩa là một số tiểu dự án của Spring sử dụng InvokerTransformer.

Một tìm kiếm nhanh trên jira.spring.io không tiết lộ bất kỳ vấn đề ngay bây giờ:

https://jira.spring.io/issues/?jql=text%20~%20%22invoketransformer%22

https://jira.spring.io/issues/?jql=text%20~%20%22CVE-2015-4852%22

Có lẽ một quan chức Pivotal có thể làm rõ điều này.

Cập nhật: Tôi đã gửi Jira issues.

1

Tôi tin rằng câu hỏi không phải là câu hỏi phù hợp.

Câu hỏi hay cho CVE này là: là bộ sưu tập apache commons trong classpath?(cụ thể hơn InvokerTransformer)

Nếu câu trả lời là có, ứng dụng chắc chắn sẽ dễ bị tổn thương nếu ngay khi nó deserializing đối tượng từ bất kỳ loại nguồn không an toàn.

Nếu câu trả lời là không, ứng dụng không dễ bị xâm phạm bởi Invokertransformer CVE, nhưng vẫn có khả năng bị tấn công với các loại hacks khác nếu nó vẫn deserializing các đối tượng từ các nguồn không đáng tin cậy mà không kiểm tra thích hợp.

Vấn đề chủ yếu là xuất phát từ khả năng của serialization và deserialization ... Vì vậy InvokerTransformer chỉ là phần nhìn thấy được của tảng băng trôi của thực tiễn không an toàn. Mặc dù, đó là một hit lớn và đơn giản.

Deserializing các đối tượng khi phiên bản được tuần tự hóa không được kiểm soát có nghĩa là giải nén hộp ma thuật.

Các vấn đề liên quan