CVE-2019-8451: Proof-of-Concept Available for Server Side Request Forgery (SSRF) Vulnerability in Jira

Satnam Narang

Availability of proof-of-concept code for vulnerability in Jira poses a challenge, as the Jira 7.x branch did not appear to contain a fix for the flaw

Background

On September 9, Atlassian released version 8.4.0 for Jira Core and Jira Software, which included a fix for an important security issue reported in August 2019.

Analysis

CVE-2019-8451 is a pre-authentication server side request forgery (SSRF) vulnerability found in the /plugins/servlet/gadgets/makeRequest resource. The vulnerability exists due to “a logic bug” in the JiraWhitelist class. An unauthenticated attacker could exploit this vulnerability by sending a specially crafted web request to a vulnerable Jira server. Successful exploitation would result in unauthorized access to view and potentially modify internal network resources.

The vulnerability was first introduced in Jira Core and Jira Software versions 7.6.0, an enterprise release in November 2017, and affects Jira Core and Software versions from 7.6.0 through 8.3.4.

Shortly after a patch was released, a GitHub repository was created on September 16 containing a proof-of-concept (PoC) for CVE-2019-8451. On September 23, security researcher Henry Chen published a tweet showing exploitation of the vulnerability in an animated GIF and referenced previous work around SSRF vulnerabilities from DEVCORE researcher Orange Tsai’s Black Hat talk, “A New Era of SSRF - Exploiting URL Parser in Trending Programming Languages!” from 2017.

Dino A. Dai Zovi, Head of Security at Square’s CashApp, retweeted Chen’s tweet saying “If you’re running JIRA on AWS consider this SSRF to be RCE.” This exposure to a Jira asset within Amazon Web Services (AWS) could provide access to the AWS Instance Metadata service, which has been previously identified in research from 2017.

An SSRF can provide attackers with the ability to query the cloud provider’s APIs, enumerating permissions and extracting data or executing API commands for other cloud services. Our example above simply aims to get the security credentials from the environment.

This Instance Metadata service, located at 169.254.169.254, provides information about Amazon Elastic Compute Cloud (EC2) instances. This SSRF vulnerability could conceptually allow an unauthenticated attacker access to any cloud computing privileges which that instance contains by querying the instance’s API metadata service.  

In this AWS use-case, an exploitation of the CVE would provide an attacker the ability to query the instance metadata service for security credentials. AWS’s security-credentials endpoint  “/latest/meta-data/iam/security-credentials/” returns a rolename. Querying the security-credentials endpoint with the rolename provides us with the AWS API AccessKeyID, Secret Access Key, and Token w/ Expiration date.

The attacker could use these credentials to execute any action associated with the role of the instance. For example, in a supply chain breach scenario, more deceptive attackers could use this access to query the user-script of the EC2 instance, obtain configurations of Amazon Elastic Container Service (ECS) (Docker container) assets and even retrieve Docker images, plant a backdoor, then push the image back into the registry. Conceptually, any exposed JIRA asset residing on any cloud provider (AWS, Azure, Google Cloud, Alibaba, Digital Ocean) is a target and capable of causing a potentially devastating breach for your organization.

Proof of concept

As noted above, a PoC for CVE-2019-8451 has been available since September 16, with further examples being referenced in tweets on September 23.

Solution

Atlassian addressed this vulnerability in Jira Core and Jira Software versions 8.4.0. Many of the releases under the Jira 7.x branch are on a path towards end of life (EOL). Jira 7.13, the most recent enterprise release version, will reach EOL in November 2020. Jira 7.6, however, will reach its EOL in November 2019. Until their respective EOL dates, these Jira versions receive bug fixes. However, it does not appear that CVE-2019-8451 was addressed in any recent release under the Jira 7.0 branch. Outside of upgrading to Jira 8.4.0, there is no specific workaround designed to prevent attackers from utilizing this vulnerability. The only known solution would be to ensure that Jira instances aren’t publicly accessible.

In the context of AWS, we encourage administrators to utilize strong Role and Profile management of AWS assets, restricting API access by following the principle of least privilege, and enabling logging for detection to identify malicious activity.

Identifying affected systems

A list of Tenable plugins to identify this vulnerability will appear here as they’re released.

Get more information 

Join Tenable's Security Response Team on the Tenable Community.

Learn more about Tenable, the first Cyber Exposure platform for holistic management of your modern attack surface. Get a free 60-day trial of Tenable.io Vulnerability Management.

Read more >

Published on Sep 25, 2019

People also viewed

Business Cost Analyst - Cloud Infrastructure

San Jose California United States E Santa Clara St., San Jose, California, United States, 95113 Engineering Engineering
Your Role:Tenable is seeking a Business Cost Analyst of Cloud Infrastructure with strong MS Excel experience to assess, analyze and compile current costs and potentially determine initiatives to reduce and improve our cloud infrastructure cost for...

Professional Services Engagement Manager

Singapore Singapore Singapore North Bridge Road, Parkview Square, Singapore, 188788 Professional Services Professional Services
Your Role:The Professional Services Engagement Manager assists in the professional services business development and oversees the delivery of projects. The Professional Services Engagement Manager’s roles include tactical project management oversi...

UX Designer

Columbia Maryland United States Columbia Gateway Drive, Columbia, Maryland, United States, 21046 Engineering Engineering
Your Role:Tenable is looking for an extraordinary Senior UX Designer to join our team. Our group is chartered with creating the next generation of security products while at the same time pioneering unprecedented user experience in the digital sec...

Commercial Territory Manager - West

Columbia Maryland United States Columbia Gateway Drive, Columbia, Maryland, United States, 21046 Sales Sales
Your Role:The Commercial Territory Manager will meet and exceed quarterly sales quota by developing new opportunities within specific geographical territory.  Researching and identifying potential accounts; outbound cold calling to soliciting new ...

Senior Software Engineer (Java & Kotlin)

San Jose California United States E Santa Clara St., San Jose, California, United States, 95113 Engineering Engineering
Your Role:Tenable is looking for a Senior Software Engineer to join the Lumin product development team. As a Sr. Software Engineer you will drive projects end-to-end, collaborate on product requirements with Product Managers, architect and impleme...

Public Sector Channel Manager - Distribution

Reston Virginia United States Reston, Virginia, United States Channel Sales Sales
Your Role:The Public Sector Channel Manager-Distribution is responsible for establishing and managing relationships with the Distribution Partner(s).  The CM-Disty will act as a sales liaison between distributor and Tenable Channel Manager personn...

We have big plans for continued global growth, and we’re looking for people who are creative, flexible and dedicated to helping us build something great – something that matters.