In the Linux kernel, the following vulnerability has been resolved:
ALSA: firewire-lib: Avoid division by zero in applyconstraintto_size()
The step variable is initialized to zero. It is changed in the loop, but if it's not changed it will remain zero. Add a variable check before the division.
The observed behavior was introduced by commit 826b5de90c0b ("ALSA: firewire-lib: fix insufficient PCM rule for period/buffer size"), and it is difficult to show that any of the interval parameters will satisfy the sndintervaltest() condition with data from the amdtpratetable[] table.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
[
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "sound/firewire/amdtp-stream.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d575414361630b8b0523912532fcd7c79e43468c",
"digest": {
"line_hashes": [
"179174490971576525526565981226576654934",
"23232165091336739558886590585686691788",
"35289113589901419430938632683158382741"
],
"threshold": 0.9
},
"id": "CVE-2024-50205-21d06f25"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "sound/firewire/amdtp-stream.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bdc21506f12b2d432b1f2667e5ff4c75eee58e3",
"digest": {
"line_hashes": [
"179174490971576525526565981226576654934",
"23232165091336739558886590585686691788",
"35289113589901419430938632683158382741"
],
"threshold": 0.9
},
"id": "CVE-2024-50205-32b8646e"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "sound/firewire/amdtp-stream.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7d4eb9e22131ec154e638cbd56629195c9bcbe9a",
"digest": {
"line_hashes": [
"179174490971576525526565981226576654934",
"23232165091336739558886590585686691788",
"35289113589901419430938632683158382741"
],
"threshold": 0.9
},
"id": "CVE-2024-50205-34ed9303"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "sound/firewire/amdtp-stream.c",
"function": "apply_constraint_to_size"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bdc21506f12b2d432b1f2667e5ff4c75eee58e3",
"digest": {
"length": 542.0,
"function_hash": "330565942478538213347079740918755974184"
},
"id": "CVE-2024-50205-37c9254d"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "sound/firewire/amdtp-stream.c",
"function": "apply_constraint_to_size"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5e431f85c87bbffd93a9830d5a576586f9855291",
"digest": {
"length": 542.0,
"function_hash": "330565942478538213347079740918755974184"
},
"id": "CVE-2024-50205-8c26e8be"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "sound/firewire/amdtp-stream.c",
"function": "apply_constraint_to_size"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7d4eb9e22131ec154e638cbd56629195c9bcbe9a",
"digest": {
"length": 542.0,
"function_hash": "330565942478538213347079740918755974184"
},
"id": "CVE-2024-50205-8f49fc40"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "sound/firewire/amdtp-stream.c",
"function": "apply_constraint_to_size"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d575414361630b8b0523912532fcd7c79e43468c",
"digest": {
"length": 542.0,
"function_hash": "330565942478538213347079740918755974184"
},
"id": "CVE-2024-50205-95f5bad8"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "sound/firewire/amdtp-stream.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72cafe63b35d06b5cfbaf807e90ae657907858da",
"digest": {
"line_hashes": [
"179174490971576525526565981226576654934",
"23232165091336739558886590585686691788",
"35289113589901419430938632683158382741"
],
"threshold": 0.9
},
"id": "CVE-2024-50205-c14bb837"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "sound/firewire/amdtp-stream.c",
"function": "apply_constraint_to_size"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@72cafe63b35d06b5cfbaf807e90ae657907858da",
"digest": {
"length": 542.0,
"function_hash": "330565942478538213347079740918755974184"
},
"id": "CVE-2024-50205-c980111a"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "sound/firewire/amdtp-stream.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5e431f85c87bbffd93a9830d5a576586f9855291",
"digest": {
"line_hashes": [
"179174490971576525526565981226576654934",
"23232165091336739558886590585686691788",
"35289113589901419430938632683158382741"
],
"threshold": 0.9
},
"id": "CVE-2024-50205-f682b5ec"
}
]