CVE-2026-43448 in Linux
요약
\~에 의해 VulDB • 2026. 05. 12.
리눅스 커널 패닉 또는 경고 로그에서 `Call Trace` 부분을 분석하면, **NVMe SSD 디스크의 I/O 타임아웃(NVMe Timeout)** 이 발생했고, 그 처리 과정에서 **인터럽트 활성화(`enable_irq`) 중 에러**가 발생했음을 알 수 있습니다.
### ???? 핵심 문제 요약
1. **NVMe 디스크 타임아웃 발생**: - `nvme_timeout()` 함수가 호출됨 → NVMe 명령이 지정 시간 내에 완료되지 않음. - 이는 디스크가 응답하지 않거나, 커널이 디스크와 통신하는 데 실패했음을 의미.
2. **타임아웃 처리 중 `enable_irq` 호출**: - `nvme_poll_irqdisable()` → `enable_irq()` 호출. - 이 함수는 인터럽트를 다시 활성화하는 역할을 하는데, 여기서 문제가 발생.
3. **에러 원인 추정**: - `enable_irq()` 호출 시 **잘못된 인터럽트 상태** 또는 **리소스 충돌**이 발생. - 예: 이미 활성화된 인터럽트를 다시 활성화하려고 함, 또는 잘못된 인터럽트 핸들러 참조.
---
### ????️ 가능한 원인 및 해결 방안
#### 1. **NVMe 디스크 하드웨어 문제** - SSD 자체의 결함, 연결 불량, 전원 문제. - **확인 방법**: - `dmesg | grep -i nvme` 또는 `smartctl -a /dev/nvme0n1`로 디스크 상태 확인. - 다른 슬롯/포트에 SSD 재연결. - 다른 SSD로 교체 테스트.
#### 2. **NVMe 드라이버 버그 또는 호환성 문제** - 사용 중인 커널 버전의 NVMe 드라이버에 버그가 있을 수 있음. - **해결 방안**: - 커널 업데이트 또는 최신 안정 버전으로 업그레이드. - 커널 부팅 옵션에 `nvme_core.default_ps_max_latency_us=0` 추가하여 전력 관리 비활성화 (일부 호환성 문제 해결).
#### 3. **인터럽트 처리 관련 커널 버그** - `enable_irq()` 호출 시 인터럽트 상태가 일관되지 않음. - **해결 방안**: - 커널 패치 적용 또는 커널 버전 변경. - `CONFIG_IRQ_POLL` 또는 관련 옵션 조정.
#### 4. **시스템 리소스 부족 또는 과부하** - 디스크 I/O가 과도하게 밀려 타임아웃 발생. - **확인 방법**: - `iostat -x 1`로 디스크 대기 시간 확인. - 시스템 부하 감소 또는 I/O 스케줄러 조정.
---
### ✅ 권장 조치 순서
1. **`dmesg` 로그 전체 확인**: ```bash dmesg | grep -i nvme dmesg | grep -i error ``` - 추가적인 에러 메시지 확인.
2. **디스크 상태 점검**: ```bash smartctl -a /dev/nvme0n1 ```
3. **커널 업데이트**: - 최신 안정 버전 커널로 업그레이드.
4. **커널 부팅 옵션 조정**: - `/etc/default/grub`에서 `GRUB_CMDLINE_LINUX`에 다음 추가: ``` nvme_core.default_ps_max_latency_us=0 ``` - `sudo update-grub` 실행 후 재부팅.
5. **하드웨어 점검**: - SSD 재연결, 다른 포트/슬롯 사용, 교체 테스트.
---
### ???? 결론
이 로그는 **NVMe 디스크 타임아웃 처리 중 인터럽트 활성화 실패**를 나타내며, 주로 **디스크 하드웨어 문제** 또는 **드라이버/커널 버그**가 원인입니다. 디스크 상태 점검, 커널 업데이트, 하드웨어 재연결 등을 통해 문제를 해결할 수 있습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.