* gnu/packages/patches/libtirpc-CVE-2017-8779.patch, gnu/packages/patches/rpcbind-CVE-2017-8779.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/onc-rpc.scm (rpcbind, libtirpc)[source]: Use them.
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			859 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			859 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Fix CVE-2017-8779:
 | |
| 
 | |
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8779
 | |
| 
 | |
| Patch copied from the bug reporter's 3rd-party repository:
 | |
| 
 | |
| https://github.com/guidovranken/rpcbomb/blob/master/rpcbind_patch.txt
 | |
| 
 | |
| diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
 | |
| index 5862c26..e11f61b 100644
 | |
| --- a/src/rpcb_svc_com.c
 | |
| +++ b/src/rpcb_svc_com.c
 | |
| @@ -48,6 +48,7 @@
 | |
|  #include <rpc/rpc.h>
 | |
|  #include <rpc/rpcb_prot.h>
 | |
|  #include <rpc/svc_dg.h>
 | |
| +#include <rpc/rpc_com.h>
 | |
|  #include <netconfig.h>
 | |
|  #include <errno.h>
 | |
|  #include <syslog.h>
 | |
| @@ -432,7 +433,7 @@ rpcbproc_taddr2uaddr_com(void *arg, struct svc_req *rqstp /*__unused*/,
 | |
|  static bool_t
 | |
|  xdr_encap_parms(XDR *xdrs, struct encap_parms *epp)
 | |
|  {
 | |
| -	return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), ~0));
 | |
| +	return (xdr_bytes(xdrs, &(epp->args), (u_int *) &(epp->arglen), RPC_MAXDATASIZE));
 | |
|  }
 | |
|  
 | |
|  /*
 |