本文へ移動
English version →
高 9.1 急ぎ度: 早めに

TraccarのLDAP認証に脆弱性、修正版6.17.0

Traccar 3.15以降6.17.0より前でLDAP認証を使う環境では、ユーザー名が分かれば空のパスワードで管理者を含む任意のアカウントにログインされるおそれがあります。6.17.0に更新し、ディレクトリ側の設定も確認してください。

CVE-2026-126777 公開 更新 執筆・監修: 佐々木 航 人が監修しながらAIを活用して執筆
画像は生成 AI で作成したイメージです

急ぎ度: 早めに

認証なしで管理者を含む任意のアカウントのセッションを得られるおそれがあり、CVSS v4は9.1(v3は7.4)、修正版の6.17.0もすでに公開されているため、該当する環境は早めの更新が妥当です。

関係があるか

LDAP認証を有効にしてTraccarを運用している組織が対象です。車両管理や位置情報の追跡に使っている会社では、管理者アカウントの乗っ取りにつながるため、とくに確認が必要です。

製品影響を受ける版修正版
Traccar 3.15以降、6.17.0より前(LDAP認証を有効にしている場合) 6.17.0

確かめ方

  1. 1Traccarの版を、管理画面またはサーバーに入れたパッケージの情報で確認し、3.15以降6.17.0より前かどうかを見る。
  2. 2設定を見直し、LDAP連携を有効にしているかを確認する。構成管理の記録がある場合は、そちらも確認する。
  3. 3LDAPディレクトリの管理者に、認証なしバインドを許可しているかを確認する。許可していなくても、LDAP認証を使っているTraccarは更新の対象にする。

何が起きたか

TraccarでLDAP認証を使っていると、パスワード欄を空にしたログインが通ってしまい、管理者を含む任意のアカウントのセッションを得られる脆弱性です。11月11日に公表され、修正版の6.17.0が出ています。

原因は、ログイン処理のLdapProvider.login()が空のパスワードを拒否しないことです。入館証の名前さえ合えば暗証番号欄が空でも通してしまう受付に近い状態で、空のまま渡されたパスワードは、LDAPでは認証なしバインドとして処理されます。

修正は、パスワードが未指定または空ならログインを失敗させる数行の追加です。分類はCWE-287(不適切な認証)で、AploSecのZachariah Mithani氏が報告しました。

攻撃の流れ

  1. 1

    ユーザー名を選ぶ

    攻撃者は有効なユーザー名を用意し、狙いやすい管理者のアカウントなどを選びます。

  2. 2

    空のパスワードで要求

    パスワードを空にしたログイン要求を、Traccarに送ります。

  3. 3

    認証なしで照会

    Traccarは空のパスワードを拒否せず、そのままLDAPディレクトリに問い合わせます。

  4. 4

    成功と誤判定

    ディレクトリが認証なしバインドを許すと、Traccarはログインに成功したと扱います。

  5. 5

    セッションを取得

    狙ったアカウントとして操作できるようになり、管理者なら設定や情報へ広く手が届きます。

公開されている情報をもとにした流れの例です。

どう悪用されるか

認証は要りません。ネットワーク経由でTraccarのログイン機能に届く位置にいる攻撃者が、利用者の操作なしに試せます。

成立するのは、TraccarでLDAP認証が有効で、接続先のディレクトリが認証なしバインドを許可していて、攻撃者が有効なユーザー名を知っている場合です。ディレクトリの設定に左右されるため、環境によって悪用できるかどうかが分かれます。

悪用されると、管理者を含む任意のアカウントとしてログインした状態になります。CVSSの機密性と完全性の影響が高とされているとおり、Traccarが扱う位置情報や機器、利用者の情報を読まれたり書き換えられたりするおそれがあります。可用性への影響は想定されていません。

今すぐやること

  1. 1

    LDAP認証を使うTraccarを洗い出す

    本番だけでなく、検証用や部門ごとに立てたTraccarも含めて、版とLDAP連携の有無を一覧にします。

  2. 2

    修正版に更新する

    LDAP認証を使っているサーバーを優先して、6.17.0以降に更新します。更新前に設定とデータベースのバックアップを取り、リリースノートで更新時の注意点を確認してください。

  3. 3

    ディレクトリ側の認証なしバインドを見直す

    LDAPの管理者と相談し、認証なしバインドを許可している理由があるかを確認します。必要がなければ無効にします。

  4. 4

    侵害の跡を調べる

    更新前の期間について、Traccarやリバースプロキシのログで、身に覚えのないログイン成功がないかを見ます。管理者アカウントでの、ユーザー・機器・通知設定の変更も確認してください。不審な点があれば、セキュリティ担当へ報告します。

すぐ更新できないとき

すぐに更新できないときは、次の対策で悪用の余地を減らせます。

  • LDAPディレクトリ側で、認証なしバインドを拒否する。同じディレクトリを使う他のシステムに影響が出ないかを先に確認する。
  • Traccarの管理画面とAPIへのアクセスを、社内ネットワークやVPNなど必要な範囲に絞る。
  • ローカルアカウントで運用できる場合は、更新までLDAP認証を一時的に止める。

背景

TraccarはオープンソースのGPS追跡サーバーで、車載機やスマートフォンから送られる位置情報を集め、Web画面とAPIで見せます。社用車の運行管理などに使われ、LDAP連携を使うと、社内ディレクトリのアカウントでそのままログインできます。管理者アカウントを奪われると、集めた位置情報の履歴と、機器やユーザーの設定が一度に手に入ります。

LDAPでは、名前だけ指定して空のパスワードで接続する操作が、認証なしバインドとして扱われます。サーバーによっては、これが成功として返ります。アプリ側は、ディレクトリに問い合わせる前に空のパスワードを弾く必要があり、これを忘れるとログインチェックが素通りになります。今回の修正はまさにこの確認の追加で、脆弱性の記録は同じ関数の3.15のソースも参照しているため、影響範囲の下限である3.15のころから、この確認がなかったことになります。

よくある質問

Q.CVSSがv3で7.4、v4で9.1と分かれているのはなぜですか。
A.評価方式の違いに加えて、ディレクトリ側の設定が条件になることの扱いが異なるためとみられます。数字より、自社のディレクトリが認証なしバインドを許可しているかを基準に急ぎ度を決めるほうが実態に合います。
Q.6.17.0に更新すれば、ディレクトリ側の設定は放置してよいですか。
A.Traccarについては、空のパスワードを拒否するようになるため対処できます。ただ、同じディレクトリに接続する他のアプリが空のパスワードを弾いていなければ、同じ型の問題が起こりえます。認証なしバインドが不要なら、ディレクトリ側で無効にしておくと安全です。

この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。

影響パッケージ

パッケージ影響を受ける版 → 修正版
TraccarTraccar
3.15 以上 6.17.0 未満→ 6.17.0
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

Traccar 3.15 before 6.17.0 contains an authentication bypass vulnerability in LdapProvider.login() that fails to reject empty passwords, causing LDAP binds to be performed as unauthenticated binds when LDAP authentication is enabled. Unauthenticated attackers who know a valid username can log in via POST /api/session or HTTP Basic authentication with an empty password against directories that permit unauthenticated binds, obtaining sessions for any account including administrators.

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく