---
id: CVE-2025-39765
title: 'ALSA: timer: fix ida_free call while not allocated'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  ALSA: timer: fix ida_free call while not allocated

  In the snd_utimer_create() function, if the kasprintf() function return
  NULL, snd_utimer_put_id() will be called, fi…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 37745918e0e7575bc40f38da93a99b9fa6406224 <
    34327b362ce2849a5eb02f47e800049e7a20a0ba
  - >-
    Linux >= 37745918e0e7575bc40f38da93a99b9fa6406224 <
    af386b52531d14c4b20f11c452787b1b6dd4eb8d
  - >-
    Linux >= 37745918e0e7575bc40f38da93a99b9fa6406224 <
    5003a65790ed66be882d1987cc2ca86af0de3db1
  - Linux 6.12
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T21:11:12.363470Z'
published: '2025-09-11'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T21:12:57.466Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-39765'
references:
  - url: 'https://git.kernel.org/stable/c/34327b362ce2849a5eb02f47e800049e7a20a0ba'
  - url: 'https://git.kernel.org/stable/c/af386b52531d14c4b20f11c452787b1b6dd4eb8d'
  - url: 'https://git.kernel.org/stable/c/5003a65790ed66be882d1987cc2ca86af0de3db1'
tags:
  - cve.org
epss: 0.00157
epssPercentile: 0.04914
ingestedAt: '2026-11-05T22:38:32.026Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

ALSA: timer: fix ida_free call while not allocated

In the snd_utimer_create() function, if the kasprintf() function return
NULL, snd_utimer_put_id() will be called, finally use ida_free()
to free the unallocated id 0.

the syzkaller reported the following information:
  ------------[ cut here ]------------
  ida_free called for id=0 which is not allocated.
  WARNING: CPU: 1 PID: 1286 at lib/idr.c:592 ida_free+0x1fd/0x2f0 lib/idr.c:592
  Modules linked in:
  CPU: 1 UID: 0 PID: 1286 Comm: syz-executor164 Not tainted 6.15.8 #3 PREEMPT(lazy)
  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-4.fc42 04/01/2014
  RIP: 0010:ida_free+0x1fd/0x2f0 lib/idr.c:592
  Code: f8 fc 41 83 fc 3e 76 69 e8 70 b2 f8 (...)
  RSP: 0018:ffffc900007f79c8 EFLAGS: 00010282
  RAX: 0000000000000000 RBX: 1ffff920000fef3b RCX: ffffffff872176a5
  RDX: ffff88800369d200 RSI: 0000000000000000 RDI: ffff88800369d200
  RBP: 0000000000000000 R08: ffffffff87ba60a5 R09: 0000000000000000
  R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
  R13: 0000000000000002 R14: 0000000000000000 R15: 0000000000000000
  FS:  00007f6f1abc1740(0000) GS:ffff8880d76a0000(0000) knlGS:0000000000000000
  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  CR2: 00007f6f1ad7a784 CR3: 000000007a6e2000 CR4: 00000000000006f0
  Call Trace:
   <TASK>
   snd_utimer_put_id sound/core/timer.c:2043 [inline] [snd_timer]
   snd_utimer_create+0x59b/0x6a0 sound/core/timer.c:2184 [snd_timer]
   snd_utimer_ioctl_create sound/core/timer.c:2202 [inline] [snd_timer]
   __snd_timer_user_ioctl.isra.0+0x724/0x1340 sound/core/timer.c:2287 [snd_timer]
   snd_timer_user_ioctl+0x75/0xc0 sound/core/timer.c:2298 [snd_timer]
   vfs_ioctl fs/ioctl.c:51 [inline]
   __do_sys_ioctl fs/ioctl.c:907 [inline]
   __se_sys_ioctl fs/ioctl.c:893 [inline]
   __x64_sys_ioctl+0x198/0x200 fs/ioctl.c:893
   do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
   do_syscall_64+0x7b/0x160 arch/x86/entry/syscall_64.c:94
   entry_SYSCALL_64_after_hwframe+0x76/0x7e
  [...]

The utimer->id should be set properly before the kasprintf() function,
ensures the snd_utimer_put_id() function will free the allocated id.

## Affected

- `Linux >= 37745918e0e7575bc40f38da93a99b9fa6406224 < 34327b362ce2849a5eb02f47e800049e7a20a0ba`
- `Linux >= 37745918e0e7575bc40f38da93a99b9fa6406224 < af386b52531d14c4b20f11c452787b1b6dd4eb8d`
- `Linux >= 37745918e0e7575bc40f38da93a99b9fa6406224 < 5003a65790ed66be882d1987cc2ca86af0de3db1`
- `Linux 6.12`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
