mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
core/or: Check extends for zero addresses and ports
Check for invalid zero IPv4 addresses and ports, when sending and receiving extend cells. Fixes bug 33900; bugfix on 0.2.4.8-alpha.
This commit is contained in:
parent
f6c8a8c538
commit
587a7fbcf6
3
changes/bug33900
Normal file
3
changes/bug33900
Normal file
@ -0,0 +1,3 @@
|
||||
o Minor bugfixes (IPv4, relay):
|
||||
- Check for invalid zero IPv4 addresses and ports, when sending and
|
||||
receiving extend cells. Fixes bug 33900; bugfix on 0.2.4.8-alpha.
|
@ -244,14 +244,14 @@ check_extend_cell(const extend_cell_t *cell)
|
||||
|
||||
if (tor_digest_is_zero((const char*)cell->node_id))
|
||||
return -1;
|
||||
if (tor_addr_family(&cell->orport_ipv4.addr) == AF_UNSPEC) {
|
||||
if (!tor_addr_port_is_valid_ap(&cell->orport_ipv4, 0)) {
|
||||
/* EXTEND cells must have an IPv4 address. */
|
||||
if (!is_extend2) {
|
||||
return -1;
|
||||
}
|
||||
/* EXTEND2 cells must have at least one IP address.
|
||||
* It can be IPv4 or IPv6. */
|
||||
if (tor_addr_family(&cell->orport_ipv6.addr) == AF_UNSPEC) {
|
||||
if (!tor_addr_port_is_valid_ap(&cell->orport_ipv6, 0)) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user