summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dns/bind910/Makefile2
-rw-r--r--dns/bind910/files/patch-CVE-2015-134952
-rw-r--r--dns/bind99/Makefile2
-rw-r--r--dns/bind99/files/patch-CVE-2015-134952
4 files changed, 106 insertions, 2 deletions
diff --git a/dns/bind910/Makefile b/dns/bind910/Makefile
index 478d8695a344..bc9c25835f45 100644
--- a/dns/bind910/Makefile
+++ b/dns/bind910/Makefile
@@ -7,7 +7,7 @@ PORTVERSION= ${ISCVERSION:S/-P/P/}
PORTREVISION= 1
.else
# dns/bind910 here
-PORTREVISION= 1
+PORTREVISION= 2
.endif
CATEGORIES= dns net ipv6
MASTER_SITES= ISC/bind9/${ISCVERSION}
diff --git a/dns/bind910/files/patch-CVE-2015-1349 b/dns/bind910/files/patch-CVE-2015-1349
new file mode 100644
index 000000000000..4eb553a7a479
--- /dev/null
+++ b/dns/bind910/files/patch-CVE-2015-1349
@@ -0,0 +1,52 @@
+commit 12df718c23e29b16fcb5c12eace4b4a924de104d
+Author: Evan Hunt <each@isc.org>
+Date: Tue Feb 3 18:32:05 2015 -0800
+
+ [v9_10_1_patch] avoid crash due to managed-key rollover
+
+ 4053. [security] Revoking a managed trust anchor and supplying
+ an untrusted replacement could cause named
+ to crash with an assertion failure.
+ (CVE-2015-1349) [RT #38344]
+
+diff --git a/CHANGES b/CHANGES
+index 1234469..fc58de7 100644
+--- CHANGES
++++ CHANGES
+@@ -1,3 +1,10 @@
++ --- 9.10.1-P2 released ---
++
++4053. [security] Revoking a managed trust anchor and supplying
++ an untrusted replacement could cause named
++ to crash with an assertion failure.
++ (CVE-2015-1349) [RT #38344]
++
+ --- 9.10.1-P1 released ---
+
+ 4006. [security] A flaw in delegation handling could be exploited
+diff --git a/lib/dns/zone.c b/lib/dns/zone.c
+index ef60454..2c4558e 100644
+--- lib/dns/zone.c
++++ lib/dns/zone.c
+@@ -8946,6 +8946,12 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
+ namebuf, tag);
+ trustkey = ISC_TRUE;
+ }
++ } else {
++ /*
++ * No previously known key, and the key is not
++ * secure, so skip it.
++ */
++ continue;
+ }
+
+ /* Delete old version */
+@@ -8994,7 +9000,7 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
+ trust_key(zone, keyname, &dnskey, mctx);
+ }
+
+- if (!deletekey) {
++ if (secure && !deletekey) {
+ INSIST(newkey || updatekey);
+ set_refreshkeytimer(zone, &keydata, now);
+ }
diff --git a/dns/bind99/Makefile b/dns/bind99/Makefile
index b64d25234324..35d06ad0e736 100644
--- a/dns/bind99/Makefile
+++ b/dns/bind99/Makefile
@@ -2,7 +2,7 @@
PORTNAME= bind
PORTVERSION= ${ISCVERSION:S/-P/P/}
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= dns net ipv6
MASTER_SITES= ISC/bind9/${ISCVERSION}
PKGNAMESUFFIX= 99
diff --git a/dns/bind99/files/patch-CVE-2015-1349 b/dns/bind99/files/patch-CVE-2015-1349
new file mode 100644
index 000000000000..0f7794bc3a04
--- /dev/null
+++ b/dns/bind99/files/patch-CVE-2015-1349
@@ -0,0 +1,52 @@
+commit 2e9d79f169663c9aff5f0dcdc626a2cd2dbb5892
+Author: Evan Hunt <each@isc.org>
+Date: Tue Feb 3 18:30:38 2015 -0800
+
+ [v9_9_6_patch] avoid crash due to managed-key rollover
+
+ 4053. [security] Revoking a managed trust anchor and supplying
+ an untrusted replacement could cause named
+ to crash with an assertion failure.
+ (CVE-2015-1349) [RT #38344]
+
+diff --git a/CHANGES b/CHANGES
+index e8d75ea..b45be6d 100644
+--- CHANGES
++++ CHANGES
+@@ -1,3 +1,10 @@
++ --- 9.9.6-P2 released ---
++
++4053. [security] Revoking a managed trust anchor and supplying
++ an untrusted replacement could cause named
++ to crash with an assertion failure.
++ (CVE-2015-1349) [RT #38344]
++
+ --- 9.9.6-P1 released ---
+
+ 4006. [security] A flaw in delegation handling could be exploited
+diff --git a/lib/dns/zone.c b/lib/dns/zone.c
+index 7a9825b..5db2844 100644
+--- lib/dns/zone.c
++++ lib/dns/zone.c
+@@ -8508,6 +8508,12 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
+ namebuf, tag);
+ trustkey = ISC_TRUE;
+ }
++ } else {
++ /*
++ * No previously known key, and the key is not
++ * secure, so skip it.
++ */
++ continue;
+ }
+
+ /* Delete old version */
+@@ -8556,7 +8562,7 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
+ trust_key(zone, keyname, &dnskey, mctx);
+ }
+
+- if (!deletekey) {
++ if (secure && !deletekey) {
+ INSIST(newkey || updatekey);
+ set_refreshkeytimer(zone, &keydata, now);
+ }