DEEP DIVE REPORT

CVE-2026-63874 대응 가이드: Linux kernel MCTP USB 경쟁 조건 취약점 점검 포인트

SecurityDesk
2026.07.20 조회 15

서론

CVE-2026-63874는 Linux 커널의 MCTP USB 드라이버(drivers/net/mctp/mctp-usb.c)에서, 네트워크 장치를 중지하는 경로와 수신 재시도 작업(rx_retry)의 취소가 경합할 수 있는 문제다. 중지 처리 중에도 이미 큐에 들어간 USB 요청 블록(URB)의 완료가 rx_retry 작업을 다시 예약할 수 있다.

Linux CNA 레코드는 2026-07-19에 이 이슈를 공개했으며, 영향 시작 버전으로 6.15를 제시한다. 수정 기준은 업스트림 안정 브랜치 기준으로 6.18.36, 7.0.13 및 7.1에 반영되어 있다. 배포판 커널은 자체 백포트를 적용할 수 있으므로, 버전 문자열만으로 안전 여부를 단정하지 말고 공급업체 보안 공지와 패치 포함 여부를 함께 확인해야 한다.

현재 공개 CVE/NVD 레코드에는 CVSS 점수와 구체적인 보안 영향(권한 상승·정보 노출·서비스 거부 등)이 기재돼 있지 않다. 따라서 이 글은 해당 레이스 조건의 존재와 패치 관리 관점의 점검 절차를 다루며, 공격 가능성이나 영향도를 추정하지 않는다.

본론

영향 범위와 우선 점검 환경

다음 조건이 함께 해당하면 우선순위를 높인다.

  • Linux 커널 6.15 이상을 사용한다.
  • MCTP USB 드라이버가 내장 또는 모듈 형태로 포함돼 있다.
  • USB 기반 MCTP 장치를 사용하거나, 해당 인터페이스를 통해 BMC·관리 컨트롤러 등과 통신한다.
  • 배포판 커널이 6.18 계열이면 6.18.36 미만, 7.0 계열이면 7.0.13 미만이거나, 7.1 이전 계열을 사용한다. 단, 배포판의 백포트 여부가 우선한다.

반대로 단순히 Linux를 사용한다는 사실만으로 이 드라이버가 활성화된 것은 아니다. 해당 소스 파일과 모듈 사용 여부를 확인해 자산의 실제 노출 범위를 분리한다.

기술적 배경

취약한 순서에서는 한 실행 흐름이 장치 중지 표시를 설정하고 URB를 종료한 뒤 지연 작업을 취소하는 동안, 다른 흐름의 rx_retry 작업이 이전의 중지 상태를 읽고 새 URB를 제출할 수 있다. 그 URB가 완료되면 rx_retry가 다시 예약될 수 있다.

수정은 수신 관련 중지 상태 변경과 대기 작업 취소의 순서를 새 수신 락으로 원자화한다. CVE 설명에 따르면 rx_stopped를 설정하고 보류 작업을 취소한 뒤에는 재큐잉이 발생하지 않도록 해, 이후 남은 URB 종료 처리를 안전하게 수행한다.

자산 및 모듈 점검

각 서버에서 다음 명령으로 커널·모듈·인터페이스 사용 흔적을 수집한다.

uname -r
modinfo mctp_usb 2>/dev/null || true
lsmod | grep -E '^(mctp_usb|mctp)\\b' || true
ip -d link show
  • modinfo가 모듈 정보를 반환하면 해당 커널 패키지에 모듈이 제공될 가능성이 있다.
  • lsmodmctp_usb가 보이면 현재 로드 상태다. 보이지 않는다고 해서 내장 드라이버까지 배제되지는 않으므로, 실제 MCTP USB 사용 자산은 하드웨어·운영 설정 기록도 함께 확인한다.
  • ip -d link show 결과와 관리 컨트롤러 연결 구성을 대조해 MCTP 인터페이스를 식별한다.

패키지 관리 체계별로는 다음처럼 설치 커널을 확인할 수 있다.

# RPM 계열
rpm -q kernel kernel-core 2>/dev/null

# Debian/Ubuntu 계열
dpkg-query -W -f='${Package} ${Version}\\n' 'linux-image*' 2>/dev/null

패치 포함 여부 판정

  1. 실행 중인 커널 버전과 설치된 커널 패키지 버전을 기록한다.
  2. 공급업체의 보안 공지·변경 로그에서 CVE-2026-63874 또는 다음 업스트림 수정 커밋의 백포트 여부를 확인한다.
  3. 9c46f3ee1837f6881cb99a52ffecb2760f11dc73
  4. d90feaa3f74bea8dafb6494631a194c70e547d94
  5. 54665dce982689e2fd99b32e9a0dcc204fda8a51
  6. 공급업체가 수정 패키지를 제공하면 해당 패키지로 업데이트하고 재부팅 또는 커널 교체 절차를 수행한다.
  7. 재부팅 후 uname -r로 실제 부팅 커널을 다시 확인하고, 변경 기록에 적용 일시·자산·검증 결과를 남긴다.

업스트림 번호와 배포판 패키지 번호가 다를 수 있다. 예를 들어 배포판이 수정 커밋을 이전 버전 패키지에 백포트한 경우에는 공급업체 공지의 CVE 매핑이 판정 근거가 된다. 반대로 숫자만 비슷한 비공식 커널은 수정 포함을 보장하지 않는다.

패치 전 임시 조치

패치 창을 즉시 확보할 수 없다면, 업무 영향 평가를 거쳐 다음을 적용한다.

  • 사용하지 않는 MCTP USB 장치·인터페이스의 연결 및 자동 로드를 최소화한다.
  • 불필요한 USB 주변기기 연결을 제한하고, 관리용 USB 장치는 승인된 물리 접근 절차로 통제한다.
  • MCTP USB가 필요한 자산은 임의로 모듈을 제거하거나 인터페이스를 내리지 말고, 관리 컨트롤러 통신 영향과 장애 복구 절차를 먼저 검토한다.
  • 커널 패키지 업데이트와 재부팅 일정을 확정해 임시 조치가 장기 방치되지 않도록 한다.

이 조치들은 패치의 대체 수단이 아니다. 공개 레코드에 악용 조건과 영향도가 충분히 명시되지 않았으므로, 운영 환경의 MCTP USB 사용 여부를 기준으로 우선순위를 정하고 가능한 한 공급업체 수정 커널로 전환한다.

운영 체크리스트

  • [ ] Linux 커널 버전과 배포판 패키지 버전을 수집했다.
  • [ ] mctp_usb 모듈 제공·로드 여부와 실제 MCTP USB 사용 자산을 확인했다.
  • [ ] 공급업체 공지에서 CVE-2026-63874 또는 수정 커밋 백포트 여부를 확인했다.
  • [ ] 수정 커널을 설치하고 유지보수 창에 맞춰 재부팅했다.
  • [ ] 재부팅 후 실행 중인 커널 버전과 MCTP USB 서비스 정상 동작을 검증했다.
  • [ ] 예외 자산의 임시 통제·패치 일정·책임자를 기록했다.

결론

MCTP USB를 실제로 사용하는 자산은 Linux 커널 6.15 이후 영향 여부와 공급업체의 백포트 상태를 우선 확인해야 한다. 수정 패키지를 적용한 뒤에는 재부팅과 uname -r 재검증까지 마쳐 실제 실행 커널이 교체됐는지 확인한다. 현재 공개 레코드에 CVSS와 구체적 보안 영향이 기재되지 않았으므로, 공격 가능성이나 영향도를 추정하지 않는다.

참고자료

  1. Linux CNA CVE 레코드
    https://cveawg.mitre.org/api/cve/CVE-2026-63874

  2. NVD CVE 레코드
    https://nvd.nist.gov/vuln/detail/CVE-2026-63874

  3. Linux stable 수정 커밋
    https://git.kernel.org/stable/c/9c46f3ee1837f6881cb99a52ffecb2760f11dc73
    https://git.kernel.org/stable/c/d90feaa3f74bea8dafb6494631a194c70e547d94
    https://git.kernel.org/stable/c/54665dce982689e2fd99b32e9a0dcc204fda8a51

본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.

댓글 (0)

댓글을 작성하려면 로그인이 필요합니다.

로그인

아직 댓글이 없습니다.

첫 번째 댓글을 작성해보세요!

IT 도구 서랍

→ Unix: 2025-01-15T09:30:00
→ 날짜: 1736934600

→ ASCII: ABC
→ 문자: 65 66 67

ASCII 코드표 — 클릭하면 입력란에 추가

DecHex약어설명
DecHex문자
DecHex문자

→ 유니코드: 홍길동
→ 문자: \ud64d\uae38\ub3d9