🔍 CVE-2026-23308

5.5
CVSS Score
MEDIUM
2026-03-25
2026-05-28 14:25
✅ 완료

🇰🇷 한글 설명

Linux 커널의 pinctrl equilibrium 드라이버에서 eqbr_irq_mask_ack() 함수가 eqbr_irq_mask()를 호출할 때, 내부의 gpiochip_disable_irq() 함수가 중복으로 실행되어 부팅 시마다 경고 메시지를 생성하는 버그입니다. 이는 커널 안정성 문제로 분류됩니다.

💡 쉬운 설명

Linux 커널의 GPIO 인터럽트 핸들러에서 특정 함수가 실수로 두 번 호출되어 부팅할 때마다 경고 메시지가 나타나는 버그입니다. 직접적인 보안 위협은 없지만 시스템 로그가 오염됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: pinctrl: equilibrium: fix warning trace on load The callback functions 'eqbr_irq_mask()' and 'eqbr_irq_ack()' are also called in the callback function 'eqbr_irq_mask_ack()'. This is done to avoid source code duplication. The problem, is that in the function 'eqbr_irq_mask()' also calles the gpiolib function 'gpiochip_disable_irq()' This generates the following warning trace in the log for every gpio on load. [ 6.088111] ------------[ cut here ]------------ [ 6.092440] WARNING: CPU: 3 PID: 1 at drivers/gpio/gpiolib.c:3810 gpiochip_disable_irq+0x39/0x50 [ 6.097847] Modules linked in: [ 6.097847] CPU: 3 UID: 0 PID: 1 Comm: swapper/0 Tainted: G W 6.12.59+ #0 [ 6.097847] Tainted: [W]=WARN [ 6.097847] RIP: 0010:gpiochip_disable_irq+0x39/0x50 [ 6.097847] Code: 39 c6 48 19 c0 21 c6 48 c1 e6 05 48 03 b2 38 03 00 00 48 81 fe 00 f0 ff ff 77 11 48 8b 46 08 f6 c4 02 74 06 f0 80 66 09 fb c3 <0f> 0b 90 0f 1f 40 00 c3 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 [ 6.097847] RSP: 0000:ffffc9000000b830 EFLAGS: 00010046 [ 6.097847] RAX: 0000000000000045 RBX: ffff888001be02a0 RCX: 0000000000000008 [ 6.097847] RDX: ffff888001be9000 RSI: ffff888001b2dd00 RDI: ffff888001be02a0 [ 6.097847] RBP: ffffc9000000b860 R08: 0000000000000000 R09: 0000000000000000 [ 6.097847] R10: 0000000000000001 R11: ffff888001b2a154 R12: ffff888001be0514 [ 6.097847] R13: ffff888001be02a0 R14: 0000000000000008 R15: 0000000000000000 [ 6.097847] FS: 0000000000000000(0000) GS:ffff888041d80000(0000) knlGS:0000000000000000 [ 6.097847] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 6.097847] CR2: 0000000000000000 CR3: 0000000003030000 CR4: 00000000001026b0 [ 6.097847] Call Trace: [ 6.097847] <TASK> [ 6.097847] ? eqbr_irq_mask+0x63/0x70 [ 6.097847] ? no_action+0x10/0x10 [ 6.097847] eqbr_irq_mask_ack+0x11/0x60 In an other driver (drivers/pinctrl/starfive/pinctrl-starfive-jh7100.c) the interrupt is not disabled here. To fix this, do not call the 'eqbr_irq_mask()' and 'eqbr_irq_ack()' function. Implement instead this directly without disabling the interrupts.

📍 영향받는 시스템

Linux 커널 6.12.59 이상에서 Equilibrium 칩셋 (ARM 기반)을 사용하는 시스템

⚔️ 공격 벡터

직접적인 공격 벡터 없음. 부팅 시 자동으로 트리거되는 커널 내부 버그

🛡️ 대응 방법

Linux 커널을 패치된 최신 버전으로 업데이트 (pinctrl: equilibrium 드라이버 수정 포함)

🔧 검증 코드

경고 메시지 개수가 0이면 패치가 적용되었습니다. 0보다 크면 취약한 버전입니다.

Shell / Script
dmesg | grep -c 'WARNING.*gpiochip_disable_irq' || echo 'No warnings found'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel