Apache · Apache Opennlp · CVE-2026-42027
**Nome do Software Vulnerável e Versões Afetadas**
Apache OpenNLP versões anteriores a 2.5.9
Apache OpenNLP versões anteriores a 3.0.0-M3
**Descrição**
A função `ExtensionLoader.instantiateExtension(Class, String)` carrega uma classe por seu nome totalmente qualificado usando `Class.forName()` e invoca seu construtor sem argumentos, com o nome da classe originado da entrada `manifest.properties` de um arquivo de modelo. Como o `Class.forName()` executa o inicializador estático da classe alvo antes que a verificação de tipo `isAssignableFrom` ocorra, um invasor que forneça um arquivo de modelo manipulado pode disparar o inicializador estático de qualquer classe no classpath. Isso pode levar à instanciação arbitrária de classes se houver classes com efeitos colaterais em seus inicializadores estáticos (como consultas JNDI, E/S de rede externa ou acesso ao sistema de arquivos) presentes. Além disso, existe um vetor mais estreito onde um manifesto malicioso pode forçar a execução de construtores sem argumentos para subclasses legítimas de `BaseToolFactory` ou `ArtifactSerializer` que possuam construtores com efeitos colaterais.
**Recomendações**
Atualizar para a versão 2.5.9 para usuários da versão 2.x.
Atualizar para a versão 3.0.0-M3 para usuários da versão 3.x.
Certificar-se de que todos os arquivos de modelo sejam provenientes de origens confiáveis.
Auditar o classpath em busca de classes com inicializadores estáticos ou construtores com efeitos colaterais, especificamente aqueles que realizam consultas JNDI, solicitações de rede ou operações de sistema de arquivos durante a inicialização.