Reverse Engineering US Airline's PNR System and Accessing All Reservations

2025/12/20 3:15

Reverse Engineering US Airline's PNR System and Accessing All Reservations

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

記事では、Avelo Airlines の予約 API が 2025 年 10 月 15 日に深刻なセキュリティ欠陥を抱えていたことが説明されており、その時点で Avelo はメールで即座に通知された。脆弱性は、認証済みユーザー(任意のセッションクッキー)なら、6 文字の英数字確認コードを推測することで完全な予約情報を取得できるというものであった。このシステムには姓の検証やレートリミットが欠けていた。アルファベットは 36 文字で構成されるため、可能なコード数は 36⁶ = 2,176,782,336 通りとなり、制限なしに数分から数時間でブルートフォース攻撃が容易に実行できた。著者は自分のクッキーを使用しつつランダムコードでリクエストを送信し、API が有効な任意のコードについて完全な個人情報と支払データを返すことを確認した。Avelo のサイバーセキュリティチームは 2025 年 10 月 16 日に対応メールをやり取りし、不足していたチェック点を指摘、2025 年 11 月 13 日に本番環境へ修正プログラムを展開した。著者は独自にパッチを検証し、その後技術ブログ記事を書いた。同時に別の予約エンドポイントにも同様の欠陥が見つかり、公開前に修正された。未修正のままだと、攻撃者は約 6 時間(またはヒット時には数分)で何百万もの PNR を列挙し、完全な PII(政府発行 ID 番号を含む)、部分的なクレジットカード情報、旅行履歴、および予約の変更やキャンセル権限を漏洩させる可能性がある。今回のケースは、多要素確認(コード+姓)や列挙可能エンドポイントへの厳格なレートリミット、適切な認証スコープ設定の必要性を示しており、Avelo の迅速かつプロフェッショナルな開示対応が他組織の模範とされている。

本文

タイムラインと責任ある開示

  • 初期連絡(2025年10月15日) – 脆弱性を発見したらすぐにAvelo Airlinesのセキュリティ担当者へメールを送信。
  • 2025年10月16日 – Avelo のサイバーセキュリティチームが迅速に回答し、姓検証の欠如と予約エンドポイントでのレート制限未設定について詳細なメール交換を実施。
  • 2025年11月13日 – Avelo が本番環境へ修正プログラムを投入し、問題がパッチされた旨を通知。私は公開前に変更内容を検証。
  • 2025年11月20日 – 本技術ブログ記事を公開し、Avelo の協力的かつ迅速な対応を強調。

Avelo チームはプロフェッショナルで、深刻度を認識し迅速に修正、そして明確なコミュニケーションを保ちました。これはセキュリティ開示の模範例です。


脆弱性

午前9時にアッカド語クラスを終えた後、Avelo Airlines でフライト変更を試みていました。ネットワークトラフィックを監視中に、不審なリクエストが目立ち、重要な情報漏洩欠陥を発見しました。

  • 攻撃者が得られるもの:Avelo の全乗客の予約詳細―PII(氏名・生年月日・性別)、政府ID番号、部分的な支払情報など。
  • 重要性:有効な認証クッキーを持つ誰でもこの脆弱性を利用できる。

航空会社のログインは通常こうあるべき

フライト予約にアクセスするには通常:

  1. 確認コード
  2. 乗客の姓

この二要素チェックは、確認コード(6文字英数字)と全ての可能な姓を組み合わせることで天文学的に大きなキー空間を作り、列挙が不可能になります。

姓検証が欠如すると極めて簡略化されます:

  • キー空間:36文字(A–Z, 0–9)
  • 長さ:6
  • 総組み合わせ数:36⁶ = 2,176,782,336 (~21億8千万)

これは天文学的に大きいとは言えず、現代のブルートフォース攻撃で到達可能です。


攻撃タイムライン

リクエストレート全組み合わせを消費する時間
1 000 req/s(控えめなスクリプト)約25日
10 000 req/s(適度なサーバー)約2.5日
100 000 req/s(小規模クラスター、$400–$700)約6時間

結論: レート制限も姓検証もない状態であれば、攻撃者は約 6時間 で全乗客データを取得でき、費用は千ドル未満。

さらに高速に実行可能です。約800万枚のチケットが販売されているとき、成功率は1/270程度。正しいPIIは数秒以内に返ってきます。


欠陥発見経緯

予約変更中に次のGETリクエストを観測:

https://www.aveloair.com/payment/services/reservation/{code}

このエンドポイントは姓検証なしで全予約データを返し、認証クッキーだけが必要でした。友人の古い確認コードと自分のクッキーを使うと完全な予約情報が取得できました。

複数スレッド Python スクリプトを作成し、ランダムに生成した6文字コードでエンドポイントへアクセスしました。WAF・IPブロック・CAPTCHAは存在せず、リクエストは通過。数分以内に何百件もの有効予約が確認できました。

別の予約エンドポイントでも同様の脆弱性を発見し、公開前に Avelo が迅速に修正しました。


漏洩したデータ

各有効コードで API は以下を返しました:

  • 完全な乗客 PII:氏名・生年月日・性別
  • 政府 ID:KNTs、パスポート番号
  • 連絡先情報:電話、メール
  • 旅程:フライト番号、日付・時刻、座席位置
  • 支払詳細:マスクされたカード番号、有効期限、請求 ZIP コード
  • バウチャー & PCI データ:アカウント番号、金額、部分磁気ストライプデータ

(元レポートにはカード情報と KNT の例も含まれています)


影響

この欠陥により:

  1. 数百万の予約コードを高速で列挙可能(約6時間ブルートフォースまたは数分のスクリプト)。
  2. アイデンティティ詐欺/不正利用のための包括的 PII の収集。
  3. 部分的なカード情報と旅行履歴へのアクセス。
  4. すべての予約を変更・キャンセルでき、広範囲にわたる混乱を引き起こし得る。

主な教訓

  • 複数要素(確認コード+姓) を必須とすることで機密データへのアクセスを制限。
  • すべての列挙可能エンドポイントにレート制限 を実装。
  • 認証クッキーは個々のユーザーセッションに限定。

Avelo の迅速な対応と修正は、責任ある開示、明確なコミュニケーション、そして迅速な是正が顧客データ保護に不可欠であることを改めて示しています。

同じ日のほかのニュース

一覧に戻る →

2025/12/20 7:13

CSS Grid Lanes

## Japanese Translation: > **Safari Technology Preview 234 は CSS Grid Lanes を導入しました**。これは、開発者が JavaScript なしで CSS 内で直接モザイク風グリッドを構築できる新しいレイアウトモードです。 > > 開発者は `display: grid-lanes;` と標準の Grid 構文(`grid-template-columns`、`repeat(auto-fill, …)` など)を組み合わせて柔軟なレーンを作成します。アイテムは自動的に最も近い上部レーンに配置され、無限スクロールとタブフレンドリーなナビゲーションが可能になります。 > > **高度な機能** には、レーンサイズの変更(`minmax(8rem, 1fr) minmax(16rem, 2fr)`)、アイテムの跨ぎ(`grid-column: span N`)、明示的配置(`grid-column: -3 / -1`)および新しい `item-tolerance` プロパティ(デフォルトは `1em`)が含まれます。これは、サイズ差に基づいてアイテムがレーンをどれだけ積極的にシフトするかを制御します。レーンは列方向(「ウォーターフォール」)または行方向(「レンガレイアウト」)で向きを設定でき、デフォルトの流れは通常です。 > > 実装は 2022 年中頃に開始され、Safari TP 234 で利用可能です。ライブデモは <https://webkit.org/demos/grid3>(写真ギャラリー、ニュースレイアウト、博物館サイト、メガメニューフッター)でホストされています。CSS Working Group はまだプロパティ名と向きの構文(`grid-lanes-direction` か `grid-auto-flow` の再利用)を最終化中です。その決定が下り次第、この機能は本番環境で使用できるようになります。 > > 開発者にとって、これは追加の JavaScript を必要とせず、より高速でパフォーマンスの高いレスポンシブレイアウトを実現することを意味し、ブラウザベンダーは同様の機能を採用する可能性があり、将来のウェブデザイン標準に影響を与えるでしょう。

2025/12/19 0:01

Mistral OCR 3

## Japanese Translation: Mistral OCR 3 は、従来のエンタープライズツールと AI ネイティブ競合他社の両方を上回る高精度な OCR モデルです。フォーム、スキャン文書、複雑な表、および手書き文字に対して Mistral OCR 2 と比較し、全体で 74 % の勝率を達成します。このモデルは、1,000 ページあたり $2(50 % Batch‑API 割引適用で 1,000 ページあたり $1)と価格設定されており、シンプルな API または Mistral AI Studio のドラッグ&ドロップ Document AI Playground を通じてアクセスできます。 主な強みは次のとおりです: * **手書き文字サポート** – 連続体文字、混合内容、および印刷フォーム上の手書き文字。 * **フォーム処理** – 請求書、領収書、コンプライアンスフォーム、政府文書におけるボックス、ラベル、手書き入力、および密集レイアウトの検出を改善。 * **頑健性** – 圧縮アーティファクト、傾斜、歪み、低 DPI、背景ノイズ、複雑なレイアウトに対処。 * **表再構築** – ヘッダー、結合セル、多行ブロック、および列階層を完全にサポートし、colspan/rowspan を含む HTML テーブルタグ付きの拡張マークダウンを出力。 初期採用者はすでに Mistral OCR 3 を高ボリュームのエンタープライズパイプラインに統合しています:請求書を構造化フィールドへ変換、会社アーカイブのデジタル化、技術レポートからクリーンテキストを抽出、および企業検索の強化。精度、コスト効果、柔軟な展開の組み合わせにより、大規模文書処理を業界横断で変革できる競争力ある代替手段として位置づけられています。

2025/12/20 8:59

PBS News Hour West to go dark after ASU discontinues contract

## Japanese Translation: ## Summary アリゾナ州立大学(ASU)のウォルター・クロンスキー報道学部は、PBS NewsHour Westとのパートナーシップを更新しないことを決定し、2019 年から ASU のダウンタウンフェニックスキャンパスで運営されていた事務所を実質的に閉鎖しました。この動きは「ASUの優先事項の変更」に起因すると、News Hour Productions の GM 兼 WETA EVP/CCO のマイケル・ランチリオが述べました。PBS およびアリゾナ PBS は追加説明を行わず、ASU に感謝し、地域ニュースへの継続的な取り組みを約束しました。 閉鎖により、西海岸で 20 % 以上の視聴者に到達することを支援していた西部本部としての事務所の役割が終了します。また、ASU のジャーナリズム学生(例:AJ Ceglia 学長)に実地報道経験と就職機会を提供していたインターンシッププログラムも消滅します。現在のインターンは学術クレジットを受け取りますが、卒業要件を満たすために代替配置を探す必要があります。 PBS NewsHour West の最終全国放送は 12 月 19 日に行われます。クロンスキー建物は、事務所閉鎖前に学校のサポートを称える形で夜間放送に登場しました。この報道は *The State Press* のジュニアレポーター、エマ・ブラッドフォード(連絡先:elbradfo@asu.edu; X @emmalbradford)によって取り上げられました。彼女も ASU のジャーナリズム/メディアコミュニケーション学部の学生です。 この決定は、西米国における地域ニュースの報道を減少させ、PBS の視聴者エンゲージメントを低下させ、新進気鋭のジャーナリストのプロフェッショナルパスウェイを制限する可能性があります