Reino: Security Features
Segurança de software não é o mesmo que software de segurança. Aqui, estamos interessados em tópicos como autenticação, controle de acesso, confidencialidade, criptografia e gestão de privilégios.
Spring Security Misconfiguration: Overly Permissive Firewall Policy
Abstract
O firewall HTTP do Spring Security é configurado com uma política flexível.
Explanation
O Spring Security inclui um firewall HTTP que ajuda a proteger o aplicativo, limpando solicitações que contêm caracteres potencialmente mal-intencionados. O Spring realiza isso incluindo o
Exemplo 1: O seguinte código torna mais flexível a política de firewall para permitir caracteres
Se forem permitidos caracteres potencialmente mal-intencionados, isso poderá levar a vulnerabilidades se esses caracteres forem processados de maneira incorreta ou inconsistente. Por exemplo, se o ponto e vírgula for permitido, isso habilitará parâmetros de caminho (conforme definido no RFC 2396), que não são processados consistentemente por servidores Web front-end como o nginx e servidores de aplicativos como o Apache Tomcat. Essas inconsistências podem ser usadas para ataques de passagem de caminho ou bypass de controle de acesso.
HttpFirewall
em seu FilterChainProxy
, que processa as solicitações antes que elas sejam enviadas pela cadeia de filtros. O Sprint Security usa a implementação StrictHttpFirewall
por padrão.Exemplo 1: O seguinte código torna mais flexível a política de firewall para permitir caracteres
%2F
e ;
:
<beans:bean id="httpFirewall" class="org.springframework.security.web.firewall.StrictHttpFirewall" p:allowSemicolon="true" p:allowUrlEncodedSlash="true"/>
Se forem permitidos caracteres potencialmente mal-intencionados, isso poderá levar a vulnerabilidades se esses caracteres forem processados de maneira incorreta ou inconsistente. Por exemplo, se o ponto e vírgula for permitido, isso habilitará parâmetros de caminho (conforme definido no RFC 2396), que não são processados consistentemente por servidores Web front-end como o nginx e servidores de aplicativos como o Apache Tomcat. Essas inconsistências podem ser usadas para ataques de passagem de caminho ou bypass de controle de acesso.
References
[1] Class DefaultHttpFirewall Spring
[2] Standards Mapping - FIPS200 CM
[3] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[4] Standards Mapping - NIST Special Publication 800-53 Revision 4 CM-6 Configuration Settings (P1)
[5] Standards Mapping - NIST Special Publication 800-53 Revision 5 CM-6 Configuration Settings
[6] Standards Mapping - OWASP API 2023 API8 Security Misconfiguration
[7] Standards Mapping - OWASP Mobile 2014 M1 Weak Server Side Controls
[8] Standards Mapping - OWASP Top 10 2004 A10 Insecure Configuration Management
[9] Standards Mapping - OWASP Top 10 2010 A6 Security Misconfiguration
[10] Standards Mapping - OWASP Top 10 2013 A5 Security Misconfiguration
[11] Standards Mapping - OWASP Top 10 2017 A6 Security Misconfiguration
[12] Standards Mapping - OWASP Top 10 2021 A05 Security Misconfiguration
[13] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 Requirement 6.5.10
[14] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0 Requirement 6.4.1
[15] Standards Mapping - Payment Card Industry Data Security Standard Version 4.0.1 Requirement 6.4.1
[16] Standards Mapping - Web Application Security Consortium Version 2.00 Server Misconfiguration (WASC-14)
desc.config.java.spring_security_misconfiguration_overly_permissive_firewall_policy