diff options
| -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 0000000000..68e4414704 --- /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 c8a19dc569..77db25b330 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 | ||
