Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

New Apache Struts Vulnerability Could Allow for Remote Code Execution

Updated August 23: A working proof of concept (PoC) has been discovered and verified on Github by Tenable’s research team. In addition, there are indications that attackers are already probing for vulnerable Apache Struts instances.

Contexte

Semmle researchers discovered and disclosed a remote code execution (RCE) vulnerability (CVE-2018-11776) in servers running Apache Struts that meet specific configuration requirements. According to Semmle, those requirements are:

  • The alwaysSelectFullNamespace flag is set to true in the Struts configuration. (Note: this is automatically the case if your application uses the popular Struts Convention plugin.)
  • The application’s Struts configuration file contains an <action ...> tag that does not specify the optional namespace attribute or specifies a wildcard namespace (e.g., “/*”).

This vulnerability also requires the version of Apache Struts to be Struts 2.3–Struts 2.3.34 or Struts 2.5–Struts 2.5.16. Upgrading to the latest version provided by Apache should mitigate your risk.

Impact assessment

If the above configuration requirements are met and your version of Apache Struts has not been updated to the recommended versions, then an attacker could take full control of the web application using Apache Struts.

Equifax saw a similar Apache Struts vulnerability (CVE-2017-5638) used in what has been called the most expensive data breach in history. Many web-based RCE vulnerabilities like this one are researched quickly, with publicly available exploits appearing in less than a few days after disclosure. In fact, our recent Attacker's Advantage report found that 34 percent of the most prevalent vulnerabilities had an exploit available on the same day they were disclosed.

Vulnerability details

In Apache Struts, when the <action ...> tag doesn’t have a corresponding namespace attribute, the default redirectAction result type will pass unsanitized strings in an HTML request as commands.

In addition, <s:url …> tags without a preset action or value attribute can be manipulated by having malicious code injected into the missing attributes, which then get passed to Struts as executed commands.

Urgently required actions

Upgrade to Apache Struts version 2.3.35 or 2.5.17 as soon as possible.

Apache also states that the following configuration change can mitigate the vulnerability (this should be a temporary workaround until an organization can upgrade):

  • Verify that you have a set namespace (if applicable) for your ‘all’ defined results in underlying configurations.
  • Verify that you have a set value or action for all ‘url’ tags in your JSPs. Both are needed only when their upper action(s) configurations have no or wildcard namespace.

 Researchers at Semmle have suggested that other methods of attack could exist, and these configuration requirements may not prevent attack.

Identifying affected systems (Updated August 24)

Unauthenticated Remote Check

Plugin 112064 is a remote plugin which will attempt to exploit the vulnerability and send an ICMP echo (ping) request from the remote host back to the scanner host to verify a successful exploit.

Enabling a proper scan test requires the following steps:

  • First, enable the scanner to “perform thorough tests” under the Assessment -> General Settings.
  • Second, enable a Web Application Scan in Assessment Settings. Be sure to configure the scan with the appropriate location to start crawling the web application. In the Web Applications section of Assessment Settings, define the “Start crawling from” location for the Web Crawler as highlighted in the image below.
  • Finally, for highly segmented and compartmentalized networks, it is important for the target to have the ability to ping the scanner’s direct IP. This is especially important in cloud environments where VPCs, subnets, and containerized applications can interfere with the communication the plugin sends from the target to the scanner to verify that the blind remote code execution vulnerability exists.

Remarque : This plugin will not work from Tenable.io scanner pools due to the nature of the vulnerability. Customers are encouraged to run the scan with their own on-prem scanners.

Authenticated Local Check

Plugin ID 112036 is available for both Windows (using SMB credentials) and Unix (using SSH credentials). Note that this plugin only runs in scans where the Accuracy setting is set to Show potential false alarms. Since the plugin relies only on the version number identified for a Struts application, this plugin is unable to identify if a workaround is in place which mitigates the vulnerability. For this reason, the Accuracy setting must be set to Show Potential false alarms.

Tenable.io Container Security can detect containers running versions of Apache Struts that are vulnerable to CVE-2018-11776.

Important Note: Apache suggests that older unsupported versions of Struts may be vulnerable as well, and recommends upgrading to the latest versions to be secure.

Plugin ID

Description

112036

Apache Struts CVE-2018-11776 Results With No Namespace Possible Remote Code Execution (S2-057)

112064

Apache Struts CVE-2018-11776 Results With No Namespace Possible Remote Code Execution (S2-057) (Remote Check)

Example plugin output for an affected system can be seen below:

Où trouver plus d'informations

Learn more about Tenable.io, the first Cyber Exposure platform for holistic management of your modern attack surface. Start your free trial of Tenable.io Container Security now!

Articles connexes

Des actualités décisives sur la cyber-sécurité

Saisissez votre adresse e-mail et ne manquez plus aucune alerte ni aucun conseil en matière de sécurité de la part de nos experts Tenable.

Tenable Vulnerability Management

Bénéficiez d'un accès complet à une plateforme cloud moderne de gestion des vulnérabilités qui vous permet de visualiser l'ensemble de vos assets et d'en assurer le suivi avec une précision inégalée.

Votre essai de Tenable Vulnerability Management inclut également Tenable Lumin et Tenable Web App Scanning.

Tenable Vulnerability Management

Bénéficiez d'un accès complet à une plateforme de gestion des vulnérabilités moderne hébergée dans le cloud qui vous permet de consulter l'ensemble de vos assets et d'en assurer le suivi, tout en bénéficiant d'une précision inégalée. Souscrivez votre abonnement annuel dès aujourd'hui.

100 assets

Sélectionnez votre option d'abonnement :

Acheter maintenant

Tenable Vulnerability Management

Bénéficiez d'un accès complet à une plateforme cloud moderne de gestion des vulnérabilités qui vous permet de visualiser l'ensemble de vos assets et d'en assurer le suivi avec une précision inégalée.

Votre essai de Tenable Vulnerability Management inclut également Tenable Lumin et Tenable Web App Scanning.

Tenable Vulnerability Management

Bénéficiez d'un accès complet à une plateforme de gestion des vulnérabilités moderne hébergée dans le cloud qui vous permet de consulter l'ensemble de vos assets et d'en assurer le suivi, tout en bénéficiant d'une précision inégalée. Souscrivez votre abonnement annuel dès aujourd'hui.

100 assets

Sélectionnez votre option d'abonnement :

Acheter maintenant

Tenable Vulnerability Management

Bénéficiez d'un accès complet à une plateforme cloud moderne de gestion des vulnérabilités qui vous permet de visualiser l'ensemble de vos assets et d'en assurer le suivi avec une précision inégalée.

Votre essai de Tenable Vulnerability Management inclut également Tenable Lumin et Tenable Web App Scanning.

Tenable Vulnerability Management

Bénéficiez d'un accès complet à une plateforme de gestion des vulnérabilités moderne hébergée dans le cloud qui vous permet de consulter l'ensemble de vos assets et d'en assurer le suivi, tout en bénéficiant d'une précision inégalée. Souscrivez votre abonnement annuel dès aujourd'hui.

100 assets

Sélectionnez votre option d'abonnement :

Acheter maintenant

Essayer Tenable Web App Scanning

Profitez d'un accès complet à notre dernière offre de scan des applications web conçue pour les applications modernes dans la plateforme de gestion des expositionsTenable One. Scannez l'ensemble de votre portefeuille en toute sécurité et avec une grande précision, sans effort manuel important ni interruption des applications web stratégiques. Abonnez-vous dès maintenant.

Votre essai de Tenable Web App Scanning inclut également Tenable Vulnerability Management et Tenable Lumin.

Acheter Tenable Web App Scanning

Bénéficiez d'un accès complet à une plateforme de gestion des vulnérabilités moderne hébergée dans le cloud qui vous permet de consulter l'ensemble de vos assets et d'en assurer le suivi, tout en bénéficiant d'une précision inégalée. Souscrivez votre abonnement annuel dès aujourd'hui.

5 FQDN

3 578,00 $

Acheter maintenant

Essayer Tenable Lumin

Visualisez et explorez votre gestion de l'exposition, suivez la réduction des risques au fil du temps et comparez-la à celle des autres entreprises avec Tenable Lumin.

Votre essai de Tenable Lumin inclut également Tenable Vulnerability Management et Tenable Web App Scanning.

Acheter Tenable Lumin

Contactez un commercial pour découvrir comment Lumin peut vous permettre d'obtenir des informations exploitables sur l'ensemble de votre entreprise et de gérer votre cyber-risque.

Essayer gratuitement Tenable Nessus Professional

GRATUIT PENDANT 7 JOURS

Tenable Nessus est aujourd'hui le scanner de vulnérabilités le plus complet du marché.

NOUVEAU - Tenable Nessus Expert
Maintenant disponible

Nessus Expert offre encore plus fonctionnalités, comme les scans de surface d'attaque externe, et la possibilité d'ajouter des domaines et de scanner l'infrastructure cloud. Cliquez ici pour essayer Nessus Expert.

Remplissez le formulaire ci-dessous pour profiter d'un essai de Nessus Pro.

Acheter Tenable Nessus Professional

Tenable Nessus est aujourd'hui le scanner le plus complet du marché. Tenable Nessus Professional vous permet d'automatiser le processus de scan des vulnérabilités, d'écourter les cycles de mise en conformité et de mieux tirer parti de votre équipe informatique.

Achetez une licence pluriannuelle et faites des économies. Ajoutez l'assistance avancée pour bénéficier de l'accès 24 h/24 et 7 j/7 à une assistance par téléphone, via la communauté et via le chat.

Sélectionnez votre licence

Achetez une licence pluriannuelle et faites des économies.

Ajoutez une assistance et une formation

Essayer gratuitement Tenable Nessus Expert

GRATUIT PENDANT 7 JOURS

Conçu pour la surface d'attaque moderne, Nessus Expert vous permet de bénéficier d'une meilleure visibilité et de protéger votre entreprise des vulnérabilités issues de l'IT, comme du cloud.

Vous avez déjà Nessus Professional de Tenable ?
Passez à Nessus Expert gratuitement pendant 7 jours.

Acheter Tenable Nessus Expert

Conçu pour la surface d'attaque moderne, Nessus Expert vous permet de bénéficier d'une meilleure visibilité et de protéger votre entreprise des vulnérabilités issues de l'IT, comme du cloud.

Sélectionnez votre licence

Achetez une licence pluriannuelle pour économiser davantage.

Ajoutez une assistance et une formation