mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-22 18:07:25 +00:00
[#254] Fixed memory leak in FQDN unpacking
RELNOTES Added a release note common/options.c fqdn_universe_decode() - replace returns with gotos to ensure memory is freed on label length errors
This commit is contained in:
parent
6e491dab44
commit
9e138021c8
5
RELNOTES
5
RELNOTES
@ -36,6 +36,11 @@ by Eric Young (eay@cryptsoft.com).
|
||||
[Gitblab #253]
|
||||
CVE: CVS-2022-2928
|
||||
|
||||
! Corrected a memory leak that occurs when unpacking a packet that has an
|
||||
FQDN option (81) that contains a label whose lenght is greater than 63.
|
||||
[Gitblab #254]
|
||||
CVE: CVS-2022-2929
|
||||
|
||||
Changes since 4.4.2-P1 (New Features)
|
||||
|
||||
- Two new OMAPI function calls were added, `dhcpctl_timed_connect()`
|
||||
|
@ -454,16 +454,16 @@ int fqdn_universe_decode (struct option_state *options,
|
||||
while (s < &bp -> data[0] + length + 2) {
|
||||
len = *s;
|
||||
if (len > 63) {
|
||||
log_info ("fancy bits in fqdn option");
|
||||
return 0;
|
||||
log_info ("label length exceeds 63 in fqdn option");
|
||||
goto bad;
|
||||
}
|
||||
if (len == 0) {
|
||||
terminated = 1;
|
||||
break;
|
||||
}
|
||||
if (s + len > &bp -> data [0] + length + 3) {
|
||||
log_info ("fqdn tag longer than buffer");
|
||||
return 0;
|
||||
log_info ("fqdn label longer than buffer");
|
||||
goto bad;
|
||||
}
|
||||
|
||||
if (first_len == 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user