Não usar os atributos de servlet do WebLogic para análise XML

Esta regra detecta o uso dos atributos setAttribute e getAttribute do WebLogic para XML de análise. Esta regra detecta o código Java. Uma regra separada detecta o uso do WebLogic weblogic.servlet.XMLParsingHelper, que ativa este recurso.

Os seguintes casos foram detectados:
  1. Todas as solicitações de método de setAttribute, em que o primeiro argumento é uma cadeia literal com qualquer um dos seguintes valores:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Exemplo:
    request.setAttribute("org.xml.sax.helpers.DefaultHandler", someObject)

  2. Todas as solicitações de método de setAttribute, em que o primeiro argumento é uma referência a uma variável de cadeia ou um campo de cadeia, e essa variável ou esse campo é inicializado com qualquer um dos seguintes valores:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Exemplo:
      String handler = "org.xml.sax.helpers.DefaultHandler";
      request.setAttribute(handler, someObject);

  3. Todas as solicitações de método de getAttribute, em que o argumento é uma cadeia literal com qualquer um dos valores a seguir:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Exemplo: Document myDocument = request.getAttribute("org.w3c.dom.Document")

  4. Todas as solicitações de método de getAttribute, em que o argumento é uma referência a uma variável de cadeia ou a um campo de cadeia, e essa variável ou esse campo é inicializada com qualquer um dos seguintes valores:
    • org.xml.sax.helpers.DefaultHandler
    • org.xml.sax.HandlerBase
    • org.w3c.dom.Document

    Exemplo:
      String handler = "org.w3c.dom.Document";
      Document myDoc = request.getAttribute(handler);


Há uma correção rápida para essa regra disponível no scanner de origem. Dependendo de como o código estiver estruturado, a correção rápida oferece qualquer uma das seguintes opções:
  1. Exclua a chamada de método.

    Exemplos:
      request.setAttribute("org.xml.sax.helpers.DefaultHandler", myHandler);
      request.getAttribute("org.w3c.dom.Document");
    Quando a correção rápida é aplicada às linhas anteriores, essas linhas são excluídas.
    Nota: Verifique se o objeto myHandler é inicializado de outras formas se ele for utilizado dentro do código posterior.

  2. Exclua a seção do inicializador da variável.

    Exemplos:
      Document myDocument = request.getAttribute("org.w3c.dom.Document");
    Quando a correção rápida é aplicada, o código anterior é alterado para:
      Document myDocument;
    Nota: Verifique se o objeto myDocument é inicializado de outras formas se ele for utilizado dentro do código posterior.