> On 7 Mar 2019, at 9:36 pm, 徐明杰 <xuming...@iie.ac.cn> wrote:
> 
> Hello all, I have some questions about "Assertion Failure" in BIND. 
> Most of the security advisories report that the security bugs can result in a 
> assertion failure. I'm not familiar with event-driven programming paradigm, 
> so I' not sure if every assertion failure can cause BIND to crash and is 
> there any mechanism in BIND that can just drop the event which triggers an 
> assertion failure and move on to other events?

An assertion failure is when a expected condition required for continued 
operation is tested for and is not met.  A controlled exit from the program is 
then performed.  We do this in such a manner that a deliberate core dump is 
attempted to be produced for diagnostic purposes.

An assertion failure is always due logic failure.  It is never safe to continue 
when the program is in a unexpected state.  One needs to examine the logic that 
lead up to the assertion and correct it.  Sometimes the correction is actually 
removing the assertion.  Sometimes it is fixing the assertion expression. 
Sometimes it is turning the assertion into a conditional expression.  Sometimes 
it is fixing some other part of the code.  Usually the cause is nearby in the 
code or the immediate callers to that code.

An assertion failure in named is almost always has a score of 7.5, 
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, which requires us to issue a 
advisory according to our policy. Even running it in a environment where it is 
automatically restarted only drops this to a score of 5.3, 
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L which is also above our threshold 
for a advisory and we have no way of knowing if named is running in such a 
environment.

That said I’d much rather have 100’s of CVE’s for assertion failures than one 
for remote execution.  Named has over 12000 places where it performs some 
assertion check.  We don’t assume.  We check.

Running named from a nanny program that will restart it is useful.  Some OS’s 
come with such programs already installed.  e.g. launchd and Windows Services 
manager.

If you have a assertion failure in named report it to secur...@isc.org.

Mark

> Thanks.
> _______________________________________________
> Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
> from this list
> 
> bind-users mailing list
> bind-users@lists.isc.org
> https://lists.isc.org/mailman/listinfo/bind-users

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742              INTERNET: ma...@isc.org

_______________________________________________
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to