]> git.ipfire.org Git - thirdparty/bind9.git/commit
fix: usr: Implement sig0key-checks-limit and sig0message-checks-limit
authorArаm Sаrgsyаn <aram@isc.org>
Thu, 20 Feb 2025 14:24:17 +0000 (14:24 +0000)
committerArаm Sаrgsyаn <aram@isc.org>
Thu, 20 Feb 2025 14:24:17 +0000 (14:24 +0000)
commitd78ebff86107539700e16ef3bc19d184200181ec
tree69c07eb3801c097a68f875c917821f56c9579ec1
parent742d379d88a5f7cb185f8f620c9a99965a0b31b4
parent5861c10dfb3a704af189265f4bc0b01cdd86c562
fix: usr: Implement sig0key-checks-limit and sig0message-checks-limit

Previously a hard-coded limitation of maximum two key or message
verification checks were introduced when checking the message's
SIG(0) signature. It was done in order to protect against possible
DoS attacks. The logic behind choosing the number 2 was that more
than a single key should only be required during key rotations, and
in that case two keys are enough. But later it became apparent that
there are other use cases too where even more keys are required, see
issue number #5050 in GitLab.

This change introduces two new configuration options for the views,
`sig0key-checks-limit` and `sig0message-checks-limit`, which define how
many keys are allowed to be checked to find a matching key, and how
many message verifications are allowed to take place once a matching
key has been found. The latter protects against expensive cryptographic
operations when there are keys with colliding tags and algorithm
numbers, with default being 2, and the former protects against a bit
less expensive key parsing operations and defaults to 16.

Closes #5050

Merge branch '5050-sig0-let-considering-more-than-two-keys' into 'main'

See merge request isc-projects/bind9!9967