An issue was discovered in Janus through 0.9.1. janus_audiobridge.c has a double mutex unlock when listing private rooms in AudioBridge.
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 |
---|---|---|---|
Janus | Meetecho | * | 0.9.1 (including) |
Janus | Ubuntu | bionic | * |
Janus | Ubuntu | eoan | * |
Janus | Ubuntu | esm-apps/bionic | * |
Janus | Ubuntu | esm-apps/focal | * |
Janus | Ubuntu | esm-apps/jammy | * |
Janus | Ubuntu | focal | * |
Janus | Ubuntu | groovy | * |
Janus | Ubuntu | hirsute | * |
Janus | Ubuntu | impish | * |
Janus | Ubuntu | jammy | * |
Janus | Ubuntu | kinetic | * |
Janus | Ubuntu | trusty | * |
Janus | Ubuntu | upstream | * |
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.