4260. [security] Insufficient testing when parsing a message allowed

records with an incorrect class to be be accepted,
                        triggering a REQUIRE failure when those records
                        were subsequently cached. (CVE-2015-8000) [RT #4098]

(cherry picked from commit c8821d124c)
This commit is contained in:
Mark Andrews
2015-11-16 13:12:20 +11:00
parent c8a643d37a
commit 3a4c24c4a5
8 changed files with 83 additions and 9 deletions

View File

@@ -103,6 +103,8 @@ else
TESTSOCK6=false
fi
PYTHON=@PYTHON@
#
# Determine if we support various optional features.
#
@@ -115,4 +117,4 @@ ZLIB=@ZLIB@
export NAMED LWRESD DIG NSUPDATE KEYGEN KEYFRLAB SIGNER KEYSIGNER KEYSETTOOL \
PERL SUBDIRS RNDC CHECKZONE PK11GEN PK11LIST PK11DEL TESTSOCK6 \
JOURNALPRINT ARPANAME RESOLVE RRCHECKER NSLOOKUP DESCRIPTION
JOURNALPRINT ARPANAME RESOLVE RRCHECKER NSLOOKUP DESCRIPTION PYTHON

View File

@@ -68,6 +68,7 @@ my $NAMED = $ENV{'NAMED'};
my $LWRESD = $ENV{'LWRESD'};
my $DIG = $ENV{'DIG'};
my $PERL = $ENV{'PERL'};
my $PYTHON = $ENV{'PYTHON'};
# Start the server(s)
@@ -233,7 +234,9 @@ sub start_server {
$pid_file = "lwresd.pid";
} elsif ($server =~ /^ans/) {
$cleanup_files = "{ans.run}";
if (-e "$testdir/$server/ans.pl") {
if (-e "$testdir/$server/ans.py") {
$command = "$PYTHON ans.py 10.53.0.$' 5300";
} elsif (-e "$testdir/$server/ans.pl") {
$command = "$PERL ans.pl";
} else {
$command = "$PERL $topdir/ans.pl 10.53.0.$'";