web-dev-qa-db-fra.com

CVE-2015-4852 peut-il être exploité contre des serveurs Weblogic après un équilibreur de charge?

J'ai =Java Applications desservis par Oracle Weblogic serveurs après un équilibreur de charge. Le protocole Weblogic T3 (vulnérable) n'est pas tunnel sur les serveurs WebLogic, seules les demandes HTTP.

Dans ce scénario, peut que mon Java Applications Server par les serveurs WebLogic soit exploité à l'aide de CVE-2015-4852 (vulnérabilités de sérialisation Java/désériorizization)?

La vulnérabilité est essentielle (pré-auth-chef). Vous pouvez trouver plus d'informations ici:

http://www.oracle.com/technetwork/topics/security/alert-cve-2015-4852-2763333.html?evite=wwsu12091612mpp001

http://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-openns-and-votre-application-have-in-common-this-vulnérabilitéd/ Englisons

3

Ok, arrivons au point: vulnérabilité cve-2015-4852 N'a pas sur le protocole T3. Le problème réside dans les routines de sérialisation/de désérialisation utilisées par Weblogic et les bibliothèques sous-jacentes qui composent le path Java de classe.

Donc, juste pour faire clair quelques points:

  • Le protocole T3 est cité car il s'agit d'un point d'entrée aux données sérialisées fournies par l'utilisateur.
  • Weblogic est cité car il est fourni avec la bibliothèque Apache Apache Apache et elle est chargée dans la classe de classe lorsque Weblogic est exécuté. Il doit être mis à jour pour que la bibliothèque groupée affectée puisse également être mise à jour. Ou vous pouvez le mettre à jour vous-même.
  • Le vrai problème réside dans la bibliothèque Apache Commons elle-même.

Par conséquent, répondez à votre question, Oui, votre demande peut toujours être affectée par les vulnérabilités de désérialisation si l'attaquant est capable de trouver ailleurs à saisir des données malveillantes sérialisées . Certaines Java applications s'appuient fortement en sérialisement. Beaucoup d'entre eux l'envoient également via des connexions HTTP/S étant codées BASE64 ou avec un autre type de codage. Java applications JSP utilise également des vues de visualisation (base64'd aussi, bien qu'elle utilise une structure diffère des visualistes ASP.NET).

J'ai même vu le module d'Oracle de HCM (Gestion du capital humain) d'Oracle Utilisez la sérialisation codée de base64 pour définir un titre de page (oui, j'ai pu le changer à ce que je voulais, mais au moment où l'on l'examine, je n'étais pas beaucoup conscient du fonctionnement intérieur des défauts de désérialisation)

mise à jour:

Il y a eu un certain développement sur cette question. Pas dans cette cve elle-même, mais certaines personnes ont découvert qu'il existe davantage de bibliothèques (très courantes également) qui sont vulnérables à l'ensemble de la sérialisation/de désérialisation.

http://www.theregister.fr/2015/12/07/java_deserialisation_research_library_vulnerable/

4
DarkLighting

De ma compréhension de la vulnérabilité comme mentionné ici https://stackoverflow.com/questions/33679614/cve-2015-4852-evaluation-apps-for-vunérabilité , si vous pouvez atteindre objectstream.readObject () de votre Java Application, il sera possible d'exploiter ceci. Donc, si vous avez une URL dis exemple.com/sample et échantillon est renvoyé à l'équilibreur de chargement comme http : // host1: 9003/échantillon , vous devez être à l'abri d'une perspective WebLogic pour toute personne accédant à l'exemple.com et non hôte1.

Je suppose que tout ce que vous avez à craindre est si votre équilibreur de charge permet aux connexions T3. Si oui, demandez-vous qu'il soit bloqué. Comme le suggère le document d'Oracle (DOC ID 2076338.1) Bloquer l'accès T3 et vous devriez être bon.

1
Hououin Kyouma

Vous n'êtes qu'exploitable (différent de "vulnérable") si des données sérialisées peuvent atteindre votre application. Dans ce cas, si le trafic T3 n'est pas passé à ce moment-là non, vous ne seriez pas exploitable via cette avenue.

Soyez averti cependant, tout autre lieu où les données sérialisées contrôlées par l'utilisateur sont également vulnérables, ce qui peut avoir lieu sur HTTP.

1
Peleus

CVE-2015-4852 est une vulnérabilité spécifique du logiciel Oracle Weblogic . Il a été découvert que le protocole T3 est vulnérable car il peut recevoir des objets sérialisés non soignés d'un attaquant potentiel. Si le protocole T3 n'est pas tunnelé des équilibreurs de charge, le trafic malveillant n'est pas transmis au portail weblogic empêchant la menace dans ce cas.

Toutefois, les vulnérabilités Serialize/désérialisze sont une catégorie complète de vulnérabilités . D'autres composants du logiciel Oracle Weblogic peuvent être vulnérables, pas seulement le protocole T3. Le fait est qu'aucun autre composant de Weblogic n'a été identifié pour être vulnérable.

D'autre part, standard ou personnalisé Java Les applications desservies par Oracle Weblogic Server (ou d'autres serveurs d'applications) peuvent être vulnérables aux vulnérabilités Serialize/désériorize . Allement, il n'est pas fréquent de passer des objets sérialisés via HTTP, mais il peut être possible de les inclure dans des en-têtes, des cookies, des post ou des données, etc.

La façon recommandée de savoir si votre application est vulnérable est la suivante:

  1. Aller au répertoire d'applications
  2. grep -r invokertransformer.
  3. Renifler ou intercepter le trafic et recherchez des objets sérialisés de l'utilisateur à l'application: [.____]
    • ro0ab (base64)
    • aC ED 00 05 (hexadécimal)
  4. Développer une preuve de concept spécifique et vérifier

Ce n'est pas la façon de trouver ce genre de vulnérabilité comme d'autres moyens d'exploiter des appels de Dangerous ReadObject () peut être découvert sans utiliser InvokeTransformer .

1