summaryrefslogtreecommitdiff
blob: 3614e42721de513b7b1bfca5371fcca064cc5a89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From 6424696d7b160c8a9ad806c4a6b0f77f0d359962 Mon Sep 17 00:00:00 2001
From: Justin Bronder <jsbronder@gmail.com>
Date: Mon, 23 Dec 2013 12:48:22 -0500
Subject: [PATCH] CVE-2013-4319: 4.x root submit fix

https://bugs.gentoo.org/show_bug.cgi?id=484320
http://nvd.nist.gov/nvd.cfm?cvename=CVE-2013-4319
---
 src/resmom/mom_process_request.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/resmom/mom_process_request.c b/src/resmom/mom_process_request.c
index 049f63f..813833f 100644
--- a/src/resmom/mom_process_request.c
+++ b/src/resmom/mom_process_request.c
@@ -238,6 +238,19 @@ void *mom_process_request(
       log_record(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, __func__, log_buffer);
       }
 
+    if (svr_conn[chan->sock].cn_authen != PBS_NET_CONN_FROM_PRIVIL)
+      {
+      sprintf(log_buffer, "request type %s from host %s rejected (connection not privileged)",
+        reqtype_to_txt(request->rq_type),
+        request->rq_host);
+
+      log_record(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, __func__, log_buffer);
+      req_reject(PBSE_BADHOST, 0, request, NULL, "request not authorized");
+      mom_close_client(chan->sock);
+      DIS_tcp_cleanup(chan);
+      return NULL;
+      }
+
     if (!AVL_is_in_tree_no_port_compare(svr_conn[chan->sock].cn_addr, 0, okclients))
       {
       sprintf(log_buffer, "request type %s from host %s rejected (host not authorized)",
-- 
1.8.3.2