Entendendo BOLA: a falha de autorização mais explorada em APIs modernas

Por: Cassio Shiga Casagrande

Imagem de computador e ecossistema de TI

03 de JULHO

Embora os mecanismos de autenticação tenham avançado, muitas APIs ainda apresentam vulnerabilidades relacionadas a falhas de autorização. Dentre elas, o Broken Object Level Authorization (BOLA) se sobressai tanto pela recorrência quanto pelo impacto.  
 

Afinal... O que é BOLA? 


Classificada como a vulnerabilidade número 1 da OWASP API Security Top 10 - API1:2023 - Broken Object Level Authorization (Autorização de Nível de Objeto Quebrada), essa vulnerabilidade possibilita que usuários autenticados acessem objetos de outros usuários por falta de verificações de autorização apropriadas.   

Na prática, o BOLA é uma das principais razões para vazamentos de dados em aplicações, sendo encontrado em APIs REST, GraphQL, aplicativos móveis e arquiteturas baseadas em microserviços. 

Considere o endpoint abaixo: 


A aplicação retorna corretamente os pedidos do usuário 1. 

Entretanto, se alterar o identificador de usuário para 2 e a API retornar os dados do usuário 2, temos uma vulnerabilidade BOLA. 
 
 

Por que BOLA é tão comum? 


Existem três fatores principais: 

1. Confiança excessiva na autenticação 

Muitos desenvolvedores assumem que um usuário autenticado pode acessar qualquer recurso retornado pela API. 

Autenticação responde: 
Quem é você? 

Autorização responde: 
Você pode acessar este recurso? 

A ausência da segunda pergunta gera o BOLA. 


2. Exposição de identificadores previsíveis 

Exemplos: 

/users/1001 
/users/1002 
/users/1003 

ou 

/orders/5001 
/orders/5002 
/orders/5003 
  
Mesmo UUIDs não eliminam o problema: 
/orders/3f2fd6c0-9f89-4f41-8a82-0d45f9e5a621 

Se a autorização não existir, o UUID apenas dificulta a enumeração. 

3. Crescimento das APIs 

Aplicações modernas possuem dezenas ou centenas de endpoints. É comum que verificações de autorização sejam implementadas em alguns endpoints e esquecidas em outros. 

Dependendo do contexto, uma vulnerabilidade BOLA pode resultar em: 

- Vazamento massivo de dados  
- Violação da LGPD  
- Exposição de documentos internos  
- Escalada horizontal de privilégios  
- Escalada vertical de privilégios  
- Comprometimento de múltiplos clientes em ambientes SaaS  

Por esse motivo, vulnerabilidades BOLA frequentemente recebem classificações High ou Critical. 
 

Como mitigar BOLA na prática? 


A validação de autorização deve ocorrer obrigatoriamente no backend, e nunca depender apenas de dados vindos do cliente (como IDs na URL). 

Exemplo Inseguro  

No cenário abaixo, qualquer usuário autenticado que alterar o document_id na requisição conseguirá acessar documentos de terceiros. 

 O sistema confia cegamente que se o usuário está logado, ele pode ver qualquer documento existente. 
 

Exemplo Seguro 

A forma correta envolve amarrar a busca do objeto à identidade do usuário que está realizando a requisição. O sistema garante que o objeto pertence ao usuário logado.

Se não encontrar (ou não pertencer ao usuário), aborta com erro: 




Broken Object Level Authorization ainda é uma das principais vulnerabilidades em APIs modernas. Sua exploração tende a ser simples, seu impacto costuma ser significativo e sua presença é bastante frequente em aplicações web, mobile e ambientes SaaS.  

Durante avaliações de segurança, a análise sistemática de controles de autorização deve ser considerada prioridade máxima. Em muitos casos, uma simples alteração de identificadores é suficiente para revelar falhas críticas capazes de comprometer dados de usuários. 

Para garantir a segurança dos dados da sua empresa, fale com a nossa equipe no WhatsApp: (54) 3027-0722.

Assine a nossa newslettere receba as novidades da Integrasul em seu e-mail.

Enviando inscrição...

Obrigado pela sua inscrição!

Houve um erro no envio. Tente novamente mais tarde.

Marque a opção "Não sou um robô"

Você precisa aceitar a Política de Privacidade