界: Security Features

軟體安全性並非安全性軟體。我們關注驗證、Access Control、保密性、加密以及權限管理之類的主題。

Spring Boot Misconfiguration: Admin MBean Enabled

Abstract
Spring Boot 應用程式已設定為暴露管理 MBean。
Explanation
Spring Boot 允許開發人員透過指定 spring.application.admin.enabled 屬性,針對應用程式啟用與管理相關的功能。這會在 MBeanServer 平台上暴露 SpringApplicationAdminMXBean。開發人員可使用此功能對 Spring Boot 應用程式進行遠端管理,但是這個功能會以遠端 JMX 端點的形式暴露其他攻擊面。根據 MBeanServer 的組態,MBean 可以在本機或遠端暴露,且可能需要驗證。最糟糕的情況是,攻擊者能夠以遠端方式管理應用程式,包括無需任何驗證就可關閉應用程式。最理想的情況是,服務與用於保護伺服器的憑證的強度一樣。

注意:如果使用易受 CVE-2016-3427 攻擊的 JRE 版本 (已在 2016 年 4 月的 Java 8 Update 91 中修正此問題),攻擊者能夠以憑證形式傳遞任何序列化的 Java 物件,這樣遠端 JVM 還原序列化時可能會導致任意程式碼執行。
References
[1] Spring Boot Reference Guide Spring
[2] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[3] Standards Mapping - OWASP API 2023 API8 Security Misconfiguration
[4] Standards Mapping - OWASP Mobile 2014 M1 Weak Server Side Controls
[5] Standards Mapping - OWASP Top 10 2010 A6 Security Misconfiguration
[6] Standards Mapping - OWASP Top 10 2013 A5 Security Misconfiguration
[7] Standards Mapping - OWASP Top 10 2017 A6 Security Misconfiguration
[8] Standards Mapping - OWASP Top 10 2021 A05 Security Misconfiguration
[9] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 7.3.1
[10] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0.1 Requirement 7.3.1
[11] Standards Mapping - Web Application Security Consortium Version 2.00 Application Misconfiguration (WASC-15)
desc.config.java.spring_boot_misconfiguration_admin_mbean_enabled