Kestrel
대시보드로 돌아가기
CVE-2026-93203HIGH· 7.1MITRENVD대응게시일: 2026. 09. 17.수정일: 2026. 09. 18.CNA: 416baaa9-dc9f-4396-8d5f-8c081fb06d67Received

In the Linux kernel, the following vulnerability has been resolved: batman-adv: bla: avoid CRC corruption due to parallel claim add batadv

위협 신호 · CVSS · EPSS · KEV

정기 패치· 높은 악용 신호 없음
CVSS
7.1high

이론적 심각도 점수

EPSS

예측 데이터 없음

KEV
미등재

실측 악용 기록 없음

권장 대응 기한60일 이내CISA SSVC 기준

계획된 패치 주기 내 조치(60일 이내)

외부 노출· KEV 미등재 · 자동화 어려움 · 부분 영향 · 외부 노출

CVSS 벡터 · 메트릭

악용 경로
공격 벡터인접
공격 복잡도낮음
필요 권한불필요
사용자 상호작용불필요
범위불변
영향
기밀성 영향없음
무결성 영향낮음
가용성 영향높음
버전별 점수
CVSS 3.17.1HIGH· 악용성 2.8· 영향도 4.2
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H

상세 설명

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

batman-adv: bla: avoid CRC corruption due to parallel claim add

batadv_bla_add_claim() is used to add claims and modify the backbone of
claims for CLAIM frames from remote backbones and local packets. When it
handles a claim, it needs to either

  • add the new claim's CRC to the backbone CRC
  • remove the already existing claim's CRC from the old backbone and add it
    to the new backbone

But when the "new" claim code was running in parallel to the "change
backbone" code, it can happen that the CRC was invalid because the
backbone_gw of the claim was changed twice in the "new" claim code path:

  • CPU0 creates the claim for gateway A and publishes it in the claim
    hash. The crc16 of the address has not yet been added to A's crc at
    this point.

  • CPU1 processes a claim frame of gateway B for the same client, finds
    the just published claim, and performs the ownership change: it
    switches the pointer to B, removes the crc16 from A's crc - which
    never contained it - and adds it to B's crc.

  • CPU0 continues behind the creation branch, unconditionally switches
    the pointer back to A without compensating B's crc (its remove_crc
    is false for the creation path), and finally adds the crc16 to A's
    crc

The CRC is then wrong for both:

  • claim belongs to A: but CRC is not part of backbone A's CRC
  • claim doesn't belong to B: CRC is still part of backbone B's CRC

This wrong CRC is never recomputated from the stored claims. For local
backbone claims, this can also not recovered using syncs.

To avoid this, split the functionality in clear separate parts:

  • new claim which always adds claim CRC to the backbone CRC (but never
    changes the already set backbone_gw of the claim back)

  • update of existing claim which automatically changes the backbone_gw
    entry and only updates both backbone CRCs when there was an actual change

AI 심층 분석

공격 시나리오 · 재현 가능한 PoC 페이로드 · 즉시 적용 가능한 차단 패치를 한 번에 받아 보세요. 보안 운영팀이 그대로 점검·티켓팅에 쓸 수 있는 형태로 정리해 드립니다.