Bug 1593776 (CVE-2018-10868)

Summary: CVE-2018-10868 redhat-certification: billion laugh attack when getting the status of a host
Product: [Other] Security Response Reporter: Riccardo Schirone <rschiron>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: brose, gnichols
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
It has been discovered that redhat-certification does not properly limit the number of recursive definitions of entities in XML documents while parsing the status of a host. A remote attacker could use this vulnerability to consume all the memory of the server and cause a Denial of Service.
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-25 09:45:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1608786    
Bug Blocks: 1593614    

Description Riccardo Schirone 2018-06-21 14:48:29 UTC
redhat-certification does not properly restrict the number of recursive definitions of entities in XML documents, allowing an unauthenticated user to run a "Billion Laugh Attack"[1] by replying to XMLRPC methods when getting the status of an host.

[1] https://en.wikipedia.org/wiki/Billion_laughs_attack

Comment 1 Riccardo Schirone 2018-06-21 14:48:38 UTC
Acknowledgments:

Name: Riccardo Schirone (Red Hat Product Security)

Comment 3 Riccardo Schirone 2018-06-25 13:12:26 UTC
getHostStatus in view.py connects to an XMLRPC server provided by the user, who could setup a fake server and reply with a small XML file which, when parsed, uses a big amount of memory.