Report information
The Basics
Id:
35758
Status:
resolved
Priority:
Medium/Medium
Queue:

People
Owner:
Nobody in particular
Cc:
AdminCc:

BugTracker
Version Fixed:
9.8.8, 9.9.6, 9.9.6-S1, 9.10.1, 9.11.0
Version Found:
(no value)
Versions Affected:
(no value)
Versions Planned:
(no value)
Priority:
P2 Normal
Severity:
S2 Normal
CVSS Score:
(no value)
CVE ID:
(no value)
Component:
BIND Server
Area:
bug

Dates
Created:Sun, 13 Apr 2014 20:40:05 -0400
Updated:Wed, 02 Aug 2017 20:52:14 -0400
Closed:Tue, 01 Jul 2014 19:09:35 -0400



This bug tracker is no longer active.

Please go to our Gitlab to submit issues (both feature requests and bug reports) for active projects maintained by Internet Systems Consortium (ISC).

Due to security and confidentiality requirements, full access is limited to the primary maintainers.

Subject: sign extension bug in isc_regex_validate
Date: Sun, 13 Apr 2014 17:39:46 -0700
To: bind9-bugs@isc.org
From: David Ramos <daramos@stanford.edu>
Hello, Our UC-KLEE tool found a char-sign-extension bug in isc_regex_validate(), which may cause it to improperly accept or reject a regular expression depending on whether the compiler treated chars as signed or unsigned (either is allowed under the C specification). The offending code is in isc_regex_validate (lib/isc/regex.c) on line 258 in the latest git v9_9 HEAD: if (range == 2 && *c < range_start) Some example inputs where the above condition may evaluate to true or false depending on the compiler are: \x5c-\x80 \x83-\x02 The simplest fix is probably to change 'c' to an unsigned char, and possibly range_start to an unsigned int. Thanks, -David
Thanks for the report