Bug 1620290 (CVE-2018-14621)

Summary: CVE-2018-14621 libtirpc: Infinite loop in EMFILE case in svc_vc.c
Product: [Other] Security Response Reporter: Laura Pardo <lpardo>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED NOTABUG QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: abhgupta, ahardin, bleanhar, bmcclain, ccoleman, dbaker, dblechte, dedgar, dfediuck, eedri, jgoulding, jokerman, kkeithle, mchappel, mgoldboi, michal.skrivanek, sbonazzo, sherold, sisharma, ssaha, steved, sthangav, trankin, vbellur
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: libtirpc 1.0.2-rc2 Doc Type: If docs needed, set a value
Doc Text:
An infinite loop vulnerability was found in libtirpc. With the port to using poll rather than select, exhaustion of file descriptors would cause the server to enter an infinite loop, consuming a large amount of CPU time and denying service to other clients until restarted.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-10 10:36:28 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:    
Bug Blocks: 1620296    

Description Laura Pardo 2018-08-22 21:46:07 UTC
A flaw was found in libtirpc before version 1.0.2-rc2. With the port to poll, and endless loop can be created when running out of file descriptors.


References:
https://bugzilla.novell.com/show_bug.cgi?id=968175

Upstream Patch:
http://git.linux-nfs.org/?p=steved/libtirpc.git;a=commit;h=fce98161d9815ea016855d9f00274276452c2c4b

Comment 1 Doran Moppert 2018-08-23 02:55:52 UTC
This was introduced with the port to using poll() instead of select() around 0.3.3.  Prior versions use a different strategy when EMFILE/ENFILE is hit:  the "most idle" connection is dropped before retrying.