Bug 546816 (CVE-2019-11776) - Reflected XSS vulnerability in the __format URL parameter
Summary: Reflected XSS vulnerability in the __format URL parameter
Status: RESOLVED FIXED
Alias: CVE-2019-11776
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 4.7.0   Edit
Hardware: PC All
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: ShiHeng Guan CLA
QA Contact: Galina Derenshteyn CLA
URL: https://cve.mitre.org/cgi-bin/cvename...
Whiteboard:
Keywords: security
Depends on:
Blocks:
 
Reported: 2019-04-29 05:58 EDT by Vineet Pandey CLA
Modified: 2019-08-10 18:33 EDT (History)
9 users (show)

See Also:


Attachments
log (13.37 KB, text/plain)
2019-07-11 15:09 EDT, Galina Derenshteyn CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vineet Pandey CLA 2019-04-29 05:58:16 EDT
Affected URL-
http://HOST:PORT/birtviewer/run?__report=TestName.rptdesign&__format=html&__overwrite=false
############################
Affected Parameter - 
__format=html
############################
Payload to be fired - 
';alert(1)//
############################
Crafted URL - 
http://HOST:PORT/birtviewer/run?__report=TestName.rptdesign&__format=html';alert(1)//&__overwrite=false
############################

By sending this crafted URL to victim, Attacker can execute the payload in victim's context. 
You can replicate the issue by following the above mentioned steps. Do let me know if any further information required. Also, if you are able to replicate the same then can you please associate a CVE for the same.

This vulnerability has been tested with below configuration:
Viewer Version : 4.7.0
Engine Version: 4.7.0
JRE version: 1.8.0_152
Comment 1 Vineet Pandey CLA 2019-05-01 07:26:53 EDT
Hi - Any updates ??
Comment 2 Vineet Pandey CLA 2019-05-03 01:49:03 EDT
Can anyone please update on this issue?
Comment 3 Vineet Pandey CLA 2019-05-08 05:26:44 EDT
Any updates ???
Comment 4 Vineet Pandey CLA 2019-05-16 07:41:10 EDT
Any Progress/update??
Comment 5 Wayne Beaton CLA 2019-05-16 10:38:18 EDT
Project team, please engage.

Our process for responding to vulnerabilities (including the process by which we assign CVEs) is captured in the handbook.

https://www.eclipse.org/projects/handbook/#vulnerability
Comment 6 Vineet Pandey CLA 2019-06-18 04:53:43 EDT
Hi - Any Progress/update??
Comment 7 Vineet Pandey CLA 2019-07-11 03:34:44 EDT
Hi - Any updates ??

It seems that vulnerability has been disclosed long back and yet to get fixed.
Also your 90 days/3 months vulnerability disclosure policy is reaching its deadline.

Can you please help with assigning CVE for this now.

Regards!
Comment 8 Galina Derenshteyn CLA 2019-07-11 15:08:27 EDT
Using crafted URL returned exception:
+ org.eclipse.birt.report.service.api.ReportServiceException: The output format html';alert(1)// is not supported.

Tested with deployment .war file on Tomcat using BIRT OS v.4.11 (OSGI and NONOSGI) and couldn't replicate the problem in following browsers: Fire Fox, Chrome, IE - all latest versions.

URL: http://localhost:8080/birt/run?__report=_1.rptdesign&__format=html';alert(1)//&__overwrite=false

Log is attached.
Comment 9 Galina Derenshteyn CLA 2019-07-11 15:09:21 EDT
Created attachment 279253 [details]
log
Comment 10 Galina Derenshteyn CLA 2019-07-11 15:42:47 EDT
 I follow your steps and didn't able to replicate the issue. Please provide more details to replicated the problem.
Comment 11 Vineet Pandey CLA 2019-07-12 02:40:40 EDT
Hi Galina -

I've verified at my end. Its working well but this seems specific to parameter holding reports. 

https://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.birt.doc%2Fbirt%2Frp-HowToCreateABasicReportParameter.html
https://www.ibm.com/support/knowledgecenter/SSBSK5_7.5.0/org.eclipse.birt.doc/birt/birt-12-7.html

Also your error is valid since I verified without parameter asking reports and it returns the same.


In my case, user is prompted with parameter window and has to give required inputs or to choose available options, once it submits then report gets generated. Later you need to move to the "Print Report" option within BIRT report viewer, select html and get the URL. Craft the URL as mentioned in my report and it will get executed.

This vulnerability has been tested with below configuration:
Viewer Version : 4.7.0
Engine Version: 4.7.0
JRE version: 1.8.0_152
Also using Jetty server not the tomcat.

Below are few of jars which I found after installation - 
eclipse-birt-org.eclipse.osgi_3.10.100.v20150529-1857.jar
eclipse-birt-org.eclipse.osgi.services_3.5.0.v20150519-2006.jar

Let me know if it works well with you.
Comment 12 Galina Derenshteyn CLA 2019-07-12 12:14:10 EDT
Was able to replicate reported problem after received more details from submiter.

Steps to reproduce:

Use BIRT OS 4.11 or earlier version to see the problem 
Deploy .war file on Tomcat (OSGI or NONOSGI)

Run the report test1.rptdesign that included parameters against Tomcat or use URL bellow to execute this report:

http://localhost:8080/birt/frameset?__report=test1.rptdesign&sample=my+parameter

Enter the value=10 for the second param

After the report launched in Web Viewer, click Print to HTML

Get this URL:
http://localhost:8080/birt/output?__report=test1.rptdesign&sample=my+parameter&&__format=html&__pageoverflow=0&__overwrite=false

Craft this URL by add follow: ';alert(1)//

http://localhost:8080/birt/output?__report=test1.rptdesign&sample=my+parameter&&__format=html&__pageoverflow=0';alert(1)//&__overwrite=false

Result: it gets executed.

NOTE: the problem happened for any reports with and without parameters when Print to HTML.
Comment 13 Vineet Pandey CLA 2019-07-15 07:04:08 EDT
Thanks Galina!

Proper measures/controls to be deployed around all the query string parameters.

Also can you please let me know when you're expecting to fix this and assign a CVE to the same.
Comment 14 Wayne Beaton CLA 2019-07-17 22:14:19 EDT
A project committer may request a CVE. The process is described here:

https://www.eclipse.org/projects/handbook/#vulnerability-cve
Comment 15 Galina Derenshteyn CLA 2019-07-18 12:13:55 EDT
Developer was assigned and working to fix this problem.
Comment 16 Vineet Pandey CLA 2019-07-29 15:06:01 EDT
Hi- any updates?

It's been more than 90 days since reported the issue. I understand disclosure can be made public now.

Regards,
Vineet
Comment 17 Wayne Beaton CLA 2019-07-29 15:28:49 EDT
> It's been more than 90 days since reported the issue. I understand
> disclosure can be made public now.

Agreed, so marked.

I assume that the "assignee" field is correct. ShiHeng Guan, what is the status of the fix?
Comment 18 ShiHeng Guan CLA 2019-07-29 15:31:05 EDT
It is check-in and resolved:

https://github.com/eclipse/birt/commit/7cb3874ec1be1a0e35d3920a1210a88b3d5393d2
Comment 19 Wayne Beaton CLA 2019-07-29 15:35:38 EDT
Is a CVE required? If yes, the steps are described in the handbook.

https://www.eclipse.org/projects/handbook/#vulnerability-cve
Comment 20 Vineet Pandey CLA 2019-07-30 14:15:19 EDT
Can someone from project team help in assigning cve?
Comment 21 Vineet Pandey CLA 2019-08-02 03:33:49 EDT
Will be great if project committer can help filing the CVE Or shall I go ahead and register a request on - https://cveform.mitre.org/
Comment 22 Vineet Pandey CLA 2019-08-05 03:56:39 EDT
Not sure why the team is not responding on CVE part?
And what's the harm in assigning CVE.
Comment 23 Yulin Wang CLA 2019-08-05 13:25:00 EDT
(In reply to Vineet Pandey from comment #22)
> Not sure why the team is not responding on CVE part?
> And what's the harm in assigning CVE.

I think Shiheng Guan is working on it.
Comment 24 ShiHeng Guan CLA 2019-08-05 18:57:08 EDT
Request was sent to Eclipse security for CVE number
Comment 25 Vineet Pandey CLA 2019-08-08 13:43:23 EDT
Thanks Shiheng!
Is there any timeline eclipse follow for assigning the CVE.
Comment 26 Wayne Beaton CLA 2019-08-08 13:53:51 EDT
We'll assign CVE-2019-11776. I'll start the submission process using the information from the email to security@eclipse.org

(in the future, please add this information on the bug directly)

--
Project: Eclipse BIRT 4.7.0
 

Version Affected: [1.0.0-4.7.0]

 
CWE-79: Improper Neutralization of Input During Web Page Generation
 

Summary: Eclipse BIRT 1.0 to 4.7, Report Viewer allows Reflected XSS in URL parameter. Attacker can execute the payload in victim's browser context.
--
Comment 27 Wayne Beaton CLA 2019-08-08 14:02:05 EDT
Submitted to the central authority.

Pull request: https://github.com/CVEProject/cvelist/pull/2416

I'll update the URL field when the request is processed.
Comment 28 ShiHeng Guan CLA 2019-08-08 14:08:40 EDT
Thanks, I will do that in the future.