diff options
author | Xufeng Zhang <xufeng.zhang@windriver.com> | 2014-07-28 04:14:16 -0400 |
---|---|---|
committer | Joe MacDonald <joe_macdonald@mentor.com> | 2014-08-05 16:23:58 -0400 |
commit | c1094b8af73fd363a97488c52890fb050da1db69 (patch) | |
tree | 38d6c92984638209a8f9ca7a9578974d675906b7 /meta-networking/recipes-irc | |
parent | 71bb2dc7c3cbb41e3a566510d3ea20cb42eebb21 (diff) | |
download | meta-openembedded-c1094b8af73fd363a97488c52890fb050da1db69.tar.gz |
znc: Fix for CVE-2013-2130
ZNC 1.0 allows remote authenticated users to cause a denial of service
(NULL pointer reference and crash) via a crafted request to the (1) editnetwork,
(2) editchan, (3) addchan, or (4) delchan page in modules/webadmin.cpp.
Per: http://cwe.mitre.org/data/definitions/476.html
CWE-476: NULL Pointer Dereference
Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-networking/recipes-irc')
-rw-r--r-- | meta-networking/recipes-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch | 58 | ||||
-rw-r--r-- | meta-networking/recipes-irc/znc/znc_git.bb | 4 |
2 files changed, 61 insertions, 1 deletions
diff --git a/meta-networking/recipes-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch b/meta-networking/recipes-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch new file mode 100644 index 000000000..68e441470 --- /dev/null +++ b/meta-networking/recipes-irc/znc/znc/0001-Fix-NULL-pointer-dereference-in-webadmin.patch | |||
@@ -0,0 +1,58 @@ | |||
1 | Subject: [PATCH] Fix NULL pointer dereference in webadmin. | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | |||
5 | commit 2bd410ee5570cea127233f1133ea22f25174eb28 upstream | ||
6 | |||
7 | Triggerable by any non-admin, if webadmin is loaded. | ||
8 | |||
9 | The only affected version is 1.0 | ||
10 | |||
11 | Thanks to ChauffeR (Simone Esposito) for reporting this. | ||
12 | --- | ||
13 | modules/webadmin.cpp | 8 ++++---- | ||
14 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
15 | |||
16 | diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp | ||
17 | index b793c02..816f217 100644 | ||
18 | --- a/modules/webadmin.cpp | ||
19 | +++ b/modules/webadmin.cpp | ||
20 | @@ -419,7 +419,7 @@ public: | ||
21 | CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock); | ||
22 | |||
23 | // Admin||Self Check | ||
24 | - if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) { | ||
25 | + if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) { | ||
26 | return false; | ||
27 | } | ||
28 | |||
29 | @@ -448,7 +448,7 @@ public: | ||
30 | CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock); | ||
31 | |||
32 | // Admin||Self Check | ||
33 | - if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) { | ||
34 | + if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) { | ||
35 | return false; | ||
36 | } | ||
37 | |||
38 | @@ -472,7 +472,7 @@ public: | ||
39 | CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock); | ||
40 | |||
41 | // Admin||Self Check | ||
42 | - if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) { | ||
43 | + if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) { | ||
44 | return false; | ||
45 | } | ||
46 | |||
47 | @@ -486,7 +486,7 @@ public: | ||
48 | CIRCNetwork* pNetwork = SafeGetNetworkFromParam(WebSock); | ||
49 | |||
50 | // Admin||Self Check | ||
51 | - if (!spSession->IsAdmin() && (!spSession->GetUser() || spSession->GetUser() != pNetwork->GetUser())) { | ||
52 | + if (!spSession->IsAdmin() && (!spSession->GetUser() || !pNetwork || spSession->GetUser() != pNetwork->GetUser())) { | ||
53 | return false; | ||
54 | } | ||
55 | |||
56 | -- | ||
57 | 1.8.5.2.233.g932f7e4 | ||
58 | |||
diff --git a/meta-networking/recipes-irc/znc/znc_git.bb b/meta-networking/recipes-irc/znc/znc_git.bb index c8a19dc56..77db25b33 100644 --- a/meta-networking/recipes-irc/znc/znc_git.bb +++ b/meta-networking/recipes-irc/znc/znc_git.bb | |||
@@ -7,7 +7,9 @@ DEPENDS = "openssl" | |||
7 | PV = "1.0+git" | 7 | PV = "1.0+git" |
8 | 8 | ||
9 | SRCREV = "ef59c23068547c132cb678092fba9a21317fd5f2" | 9 | SRCREV = "ef59c23068547c132cb678092fba9a21317fd5f2" |
10 | SRC_URI = "git://github.com/znc/znc.git" | 10 | SRC_URI = "git://github.com/znc/znc.git \ |
11 | file://0001-Fix-NULL-pointer-dereference-in-webadmin.patch \ | ||
12 | " | ||
11 | 13 | ||
12 | S = "${WORKDIR}/git" | 14 | S = "${WORKDIR}/git" |
13 | 15 | ||