注目★★★★★GitHub Advisory
HAPI FHIR: DSTU2の matches() にReDoS脆弱性 CVE-2026-55470
30秒で把握
- 1CVE-2026-55470: DSTU2の matches() に RegexTimeout 未適用・ReDoS可能
- 2DSTU3/R4等は修正済みだがDSTU2のみ同一ファイル内で修正漏れが発生
- 3未認証攻撃者がregexバックトラッキングでサーバCPU枯渇を引き起こし得る
要約
HAPI FHIRのCVE-2026-45367修正が不完全で、DSTU2モジュールの`matches()`関数がReDoS攻撃に対して無防備のままと判明した。DSTU2016MAY・DSTU3・R4・R4B・R5では`RegexTimeout.matches()`が適用済みだが、DSTU2の`FHIRPathEngine.java`2462行目は生の`String.matches()`を使用している。同ファイル内の`replaceMatches()`は修正済みのため、同一ファイルで修正が不整合な状態にある。未認証の攻撃者が悪意あるregexパターンを送信することでサーバCPUを枯渇させ得る。
あなたへの影響
HAPI FHIRのDSTU2モジュールを本番運用しているチームは、CVE-2026-55470の修正バージョンへの更新を確認し、`FHIRPathEngine.java`の該当箇所をレビューすることを推奨する。
推奨:修正済みバージョンが未リリースの場合は、受け付けるFHIRPathのregex入力を入力検証で制限するなど暫定対策を検討する価値がある。