]> git.ipfire.org Git - thirdparty/bird.git/commit
BGP: Fixed invalid memory access in pending TX flush
authorMaria Matejka <mq@ucw.cz>
Mon, 22 Sep 2025 08:37:16 +0000 (10:37 +0200)
committerMaria Matejka <mq@ucw.cz>
Mon, 22 Sep 2025 11:35:02 +0000 (13:35 +0200)
commit4d87a4ae93b5e62eb4771c9eec789ca76b1b78a9
tree8299e526245732372b0b00c2ced601c74c8a0234
parentacda444e83649b586fe61e926780ae6272faf081
BGP: Fixed invalid memory access in pending TX flush

When BGP is shutting down (or graceful-restarting), it must flush the
pending TX data. In quite rare cases, it may have happened that with the
export table on and shutting down a session with just the right amount
of unsent updates, the flush may have caused a step-down of the prefix
hash in the middle of walking it.

Usually, when downsizing, the prefix of the allocated block is used, but
if the block is large enough, it may have been re-used by another thread
early enough to cause some very unwanted out-of-buffer access.

Reported-By: NIX-CZ
proto/bgp/attrs.c