mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-29 13:38:26 +00:00
[master] fix length check in OPENPGPKEY
4170. [security] An incorrect boundary check in the OPENPGPKEY rdatatype could trigger an assertion failure. [RT #40286]
This commit is contained in:
parent
b8a04d50a3
commit
c707e2b986
4
CHANGES
4
CHANGES
@ -1,3 +1,7 @@
|
|||||||
|
4170. [security] An incorrect boundary check in the OPENPGPKEY
|
||||||
|
rdatatype could trigger an assertion failure.
|
||||||
|
[RT #40286]
|
||||||
|
|
||||||
4169. [test] Added a 'wire_test -d' option to read input as
|
4169. [test] Added a 'wire_test -d' option to read input as
|
||||||
raw binary data, for use as a fuzzing harness.
|
raw binary data, for use as a fuzzing harness.
|
||||||
[RT #40312]
|
[RT #40312]
|
||||||
|
@ -38,6 +38,12 @@
|
|||||||
<sect2 id="relnotes_security">
|
<sect2 id="relnotes_security">
|
||||||
<title>Security Fixes</title>
|
<title>Security Fixes</title>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
An incorrect boundary check in the OPENPGPKEY rdatatype
|
||||||
|
could trigger an assertion failure. [RT #40286]
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
A buffer accounting error could trigger an assertion failure
|
A buffer accounting error could trigger an assertion failure
|
||||||
|
@ -1268,7 +1268,7 @@ txt_fromwire(isc_buffer_t *source, isc_buffer_t *target) {
|
|||||||
|
|
||||||
isc_buffer_activeregion(source, &sregion);
|
isc_buffer_activeregion(source, &sregion);
|
||||||
if (sregion.length == 0)
|
if (sregion.length == 0)
|
||||||
return(ISC_R_UNEXPECTEDEND);
|
return (ISC_R_UNEXPECTEDEND);
|
||||||
n = *sregion.base + 1;
|
n = *sregion.base + 1;
|
||||||
if (n > sregion.length)
|
if (n > sregion.length)
|
||||||
return (ISC_R_UNEXPECTEDEND);
|
return (ISC_R_UNEXPECTEDEND);
|
||||||
|
@ -81,6 +81,8 @@ fromwire_openpgpkey(ARGS_FROMWIRE) {
|
|||||||
* Keyring.
|
* Keyring.
|
||||||
*/
|
*/
|
||||||
isc_buffer_activeregion(source, &sr);
|
isc_buffer_activeregion(source, &sr);
|
||||||
|
if (sr.length < 1)
|
||||||
|
return (ISC_R_UNEXPECTEDEND);
|
||||||
isc_buffer_forward(source, sr.length);
|
isc_buffer_forward(source, sr.length);
|
||||||
return (mem_tobuffer(target, sr.base, sr.length));
|
return (mem_tobuffer(target, sr.base, sr.length));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user