MariaDB Server before 10.7 is vulnerable to Denial of Service. In extra/mariabackup/ds_compress.cc, when an error occurs (pthread_create returns a nonzero value) while executing the method create_worker_threads, the held lock is not released correctly, which allows local users to trigger a denial of service due to the deadlock. Note: The vendor argues this is just an improper locking bug and not a vulnerability with adverse effects.
The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Mariadb | Mariadb | * | 10.2.42 (excluding) |
Mariadb | Mariadb | 10.3.0 (including) | 10.3.33 (excluding) |
Mariadb | Mariadb | 10.4.0 (including) | 10.4.23 (excluding) |
Mariadb | Mariadb | 10.5.0 (including) | 10.5.14 (excluding) |
Mariadb | Mariadb | 10.6.0 (including) | 10.6.6 (excluding) |
Mariadb | Mariadb | 10.7.0 (including) | 10.7.2 (excluding) |
Red Hat Enterprise Linux 8 | RedHat | mariadb:10.5-8060020220614163302.ad008a3a | * |
Red Hat Enterprise Linux 8 | RedHat | mariadb:10.3-8060020220715055054.ad008a3a | * |
Red Hat Enterprise Linux 9 | RedHat | mariadb-3:10.5.16-2.el9_0 | * |
Red Hat Software Collections for Red Hat Enterprise Linux 7 | RedHat | rh-mariadb105-mariadb-3:10.5.16-2.el7 | * |
Red Hat Software Collections for Red Hat Enterprise Linux 7 | RedHat | rh-mariadb103-mariadb-3:10.3.35-1.el7 | * |
Mariadb-10.1 | Ubuntu | bionic | * |
Mariadb-10.5 | Ubuntu | impish | * |
Mariadb-10.6 | Ubuntu | kinetic | * |
Mariadb-10.6 | Ubuntu | lunar | * |
Locking is a type of synchronization behavior that ensures that multiple independently-operating processes or threads do not interfere with each other when accessing the same resource. All processes/threads are expected to follow the same steps for locking. If these steps are not followed precisely - or if no locking is done at all - then another process/thread could modify the shared resource in a way that is not visible or predictable to the original process. This can lead to data or memory corruption, denial of service, etc.