mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-03 18:40:16 +01:00
dhcp/systemd: ignore FORCERENEW requests for DHCPV4 to workaround CVE-2020-13529
The FORCERENEW reqest was not authenticated (because neither rfc3118 nor rfc6704) is implemented. That is a potential security issue. As workaround, patch the source to ignore those requests. Note that also nettools implementation ignores FORCERENEW requests, so if there would be a need to handle them, then it would be important to improve the nettools code (which is the main implementation). The systemd DHCP plugin is no longer used by default. The user explicitly has to enable it via the undocumented "[main].dhcp=systemd" option in NetworkManager.conf. Hence, this change is probably not very important either way. See-also: https://bugzilla.redhat.com/show_bug.cgi?id=1959398 See-also: https://github.com/systemd/systemd/issues/16774 https://bugzilla.redhat.com/show_bug.cgi?id=1966123 CVE-2020-13529 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/898
This commit is contained in:
parent
58c3af1a7d
commit
1441b04bba
1 changed files with 9 additions and 0 deletions
|
|
@ -1580,9 +1580,18 @@ static int client_handle_forcerenew(sd_dhcp_client *client, DHCPMessage *force,
|
|||
if (r != DHCP_FORCERENEW)
|
||||
return -ENOMSG;
|
||||
|
||||
#if 0 /* NM_IGNORED */
|
||||
log_dhcp_client(client, "FORCERENEW");
|
||||
|
||||
return 0;
|
||||
#else /* NM_IGNORED */
|
||||
/* NM: patch out the handling of FORCERENEW. We don't implement rfc3118 (Authentication
|
||||
* for DHCP Messages) nor rfc6704 (Forcerenew Nonce Authentication) so accepting
|
||||
* unauthenticated FORCERENEW requests is a security issue (CVE-2020-13529)
|
||||
* See: https://github.com/systemd/systemd/issues/16774 */
|
||||
log_dhcp_client(client, "ignore FORCERENEW");
|
||||
return -ENOMSG;
|
||||
#endif /* NM_IGNORED */
|
||||
}
|
||||
|
||||
static bool lease_equal(const sd_dhcp_lease *a, const sd_dhcp_lease *b) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue