O SOFARPC é uma estrutura Java RPC que, por padrão, utiliza o protocolo SOFA Hessian para deserializar os dados recebidos. O protocolo SOFA Hessian utiliza um mecanismo de lista negra para restringir a desserialização de classes potencialmente perigosas, a fim de garantir a proteção de segurança. No entanto, antes da versão 5.12.0, existe uma cadeia de gadgets capaz de contornar o mecanismo de proteção da lista negra do SOFA Hessian, e essa cadeia de gadgets depende apenas do JDK, não de componentes de terceiros.