Bug 948378 (CVE-2013-1950)
| Summary: | CVE-2013-1950 libtirpc: invalid pointer free leads to rpcbind daemon crash | ||
|---|---|---|---|
| Product: | [Other] Security Response | Reporter: | Vincent Danen <vdanen> |
| Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> |
| Status: | CLOSED ERRATA | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | unspecified | CC: | jlayton, jlieskov, jrusnack, myllynen, pmatouse, rhack, security-response-team, steved |
| Target Milestone: | --- | Keywords: | Security |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2013-05-30 20:23:33 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: | 953735, 953736, 955211 | ||
| Bug Blocks: | 948388 | ||
|
Description
Vincent Danen
2013-04-04 17:07:40 UTC
It looks like the problem is libtirpc. Its a regression from:
commit 82cc2e6129c872c8be09381055f2fb5641c5e6fe
Author: Matthew N. Dodd <matthew.nygard.dodd>
Date: Mon Jun 20 13:34:56 2011 -0400
SVCAUTH_WRAP/SVCAUTH_UNWRAP
The following code as added to svc_dg_getargs()
@@ -264,7 +282,12 @@ svc_dg_getargs(xprt, xdr_args, args_ptr)
xdrproc_t xdr_args;
void *args_ptr;
{
- return (*xdr_args)(&(su_data(xprt)->su_xdrs), args_ptr);
+ if (! SVCAUTH_UNWRAP(xprt->xp_auth, &(su_data(xprt)->su_xdrs),
+ xdr_args, args_ptr)) {
+ (void)svc_freeargs(xprt, xdr_args, args_ptr);
+ return FALSE;
+ }
+ return TRUE;
}
That svc_freeargs() should not exist.
An invalid pointer free flaw was found in the way server side code implementation for connectionless RPC requests of libtirpc, a library implementing Transport-Independent RPC (TI-RPC), (previously) performed arguments retrieval (due to a regression in commit 82cc2e61 svc_dg_getargs() routine callers would crash with invalid pointer free). A remote attacker could issue a specially-crafted Sun RPC request that, when processed would lead to rpcbind daemon crash. A different vulnerability than CVE-2003-0028. Relevant upstream patch: [1] http://git.infradead.org/users/steved/libtirpc.git/commitdiff/a9f437119d79a438cb12e510f3cadd4060102c9f Created libtirpc tracking bugs for this issue Affects: fedora-all [bug 955211] This issue affects the version of the libtirpc package, as shipped with Red Hat Enterprise Linux 6. Acknowledgements: Red Hat would like to thank Michael Armstrong for reporting this issue. This issue has been addressed in following products: Red Hat Enterprise Linux 6 Via RHSA-2013:0884 https://rhn.redhat.com/errata/RHSA-2013-0884.html |