Bug ID 1201800
Summary VUL-1: libostree: ed25519: Invalid out of bound reads
Classification openSUSE
Product openSUSE Tumbleweed
Version Current
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component Security
Assignee gnome-bugs@suse.de
Reporter Andreas.Stieger@gmx.de
QA Contact security-team@suse.de
Found By ---
Blocker ---

It was discovered that in ostree before 2022.5 the ed25519 signature
verification code did not check that the signature is the correct length. As a
result, if the signature is too short, libsodium would end up reading a few
bytes out of bounds. Theoretically, this could cause an bad signature to be
accepted. However, for this to happen, the out-of-bounds data would need to
form a valid signature when combined with the actual data, which means that the
file must have actually been signed. A more likely possibility is that
libsodium winds up reading into an adjacent unmapped page and crashes.

The second was that if there are N keys in the keyring, M revoked keys, and O
signatures, libostree will consume O(N * M * O) (cubic) time checking for key
revocation. This can be reduced to O(N * O + M log M + N) time or better by
using an associative array to filter out revoked keys and by moving the
revocation check out of the for-each-signature loop.

References:
https://github.com/ostreedev/ostree/security/advisories/GHSA-gqf4-p3gv-g8vw
https://github.com/ostreedev/ostree/commit/83e6357186be11fb8f2a6b66fab3730c44ee59dd


You are receiving this mail because: