モスバーガーを運営する株式会社モスフードサービスは2026年10月23日、プリペイドカード「モスカード」の情報が外部に流出したと公表しました。サーバーの運用・保守を委託している株式会社バリューデザインのシステムが不正アクセスを受け、カード番号16桁・PIN番号6桁・残高情報の113万3,070件が流出しています。氏名・住所・電話番号・クレジットカード情報は含まれていません。前半では、店頭で今も使えるか、残高照会や公式アプリへの登録ができないときにどうするか、窓口の番号はどれかに公式発表で答えます。後半は、カード番号とPINだけで残高に届く構造と、6桁のPINを漏えい後も戻されない保存方式をコードで比べます。
まとめ:モスカード不正アクセスで流出した情報と、利用者が今日確かめること
公表によると、バリューデザインは10月14日から18日にかけて、モスカードの管理システムへの不審なアクセスや不正ログインの試行を検知しました。アクセスを遮断して調べたところ、外部プログラムを使った不正アクセスで、一部のカード番号・PIN・残高が持ち出されていたと分かりました。モスフードサービスは流出したカード番号に紐づくPINを強制的に変更しています。10月23日時点で、本件による被害の問い合わせは届いていないとしています。
利用者が確かめることは3つです。1つ目として、店頭・ネット注文・お席で注文での支払いがこれまでどおりできることを確かめます。2つ目は、Web上の残高照会、公式アプリへの新規登録、ネット注文のゲスト購入ができないときは専用窓口へ連絡することです。3つ目は、利用履歴を見て、チャージした額が知らないうちに減っていないかを確認することです。
| 項目 | 公表されている内容(2026年10月28日時点) |
|---|---|
| 発行会社 | 株式会社モスフードサービス |
| 不正アクセスを受けた先 | 委託先の株式会社バリューデザイン |
| 公表日 | 2026年10月23日 |
| 流出した情報 | カード番号16桁・PIN6桁・残高情報 |
| 流出件数 | 113万3,070件(発行総数は約380万件) |
| 含まれない情報 | 氏名・住所・電話番号・クレジットカード情報 |
| 一次対応 | 流出したカードのPINを強制変更 |
| 未公表 | 悪用された脆弱性の名称・PINの保存形式・補償 |
利用者が最初に確かめること:店頭で使える範囲、止まる機能、偽の連絡
店頭・ネット注文・お席で注文の支払いは問題なく、手元のカードはそのまま使える
モスバーガー公式サイトのお知らせは、店頭・ネット注文・お席注文でのモスカードの利用は問題ないと案内しています。カードを作り直す必要や、店舗で手続きをする必要があるという記載はありません。流出の対象になったかどうかを利用者が自分で照会する仕組みは、10月28日時点で公開されていません。
流出したのは発行総数約380万件のうち113万3,070件です。内訳は、すでに店頭で売られて使われている流通済みのカードが約57万件、まだ売られていない未流通のカードが約56万件でした。手元のカードが対象かどうかは公表から判断できないため、次の項目で説明する症状が出たかどうかで見分けるのが現実的です。
Webの残高照会とアプリ登録ができなくなるのは、PINの強制変更が理由
公表では、流出したカードのPINを変更した影響で、次の3つができない場合があるとしています。
- Web上での残高照会
- 公式アプリへの新規登録
- ネット注文での「モスカード」によるゲスト購入
理由は、Webでの照会や登録がカード番号とPINの組み合わせで本人のカードかを確かめる仕組みだからです。モスカードのFAQによると、会員でない人が公式サイトで残高を見るには、カード裏面のカード番号とPIN番号が必要です。プラスチックのカードは、裏面のスクラッチを削るとPINが出てきます。そのPINが強制変更で使えなくなったため、手元の番号を入れても照会や登録が通らない状態です。照会が通らなかったことは、対象だったかを窓口で確かめるきっかけになります。
モスや窓口を名乗るメール・SMS・電話を受けたときの確かめ方
公表どおりなら、流出した情報に氏名・電話番号・メールアドレスは含まれていません。流出したデータだけを使って、個人宛てにメールや電話を送ることはできない計算です。一方で、それでも、報道を見て便乗する偽の連絡が出回ることはあります。「カードが不正利用されている」「PINを再設定するためにリンクを開いて」といった連絡が来ても、メール内のリンクは開かず、モスバーガー公式サイトのお知らせを自分で開いて内容を照らし合わせてください。偽の連絡が成立する仕組みはフィッシング詐欺の成立の仕組みと技術的対策で解説しています。
流出した情報の内訳:カード番号16桁・PIN6桁・残高と、含まれない個人情報
カード番号とPINの組み合わせが揃ったことの意味と、流通前のカードが含まれる理由
モスカードは、店頭で現金をチャージして何度でも使えるプリペイドカードです。FAQによると、店頭で発行するプラスチックのカードと、公式アプリで発行するモバイルモスカードの2種類があります。プラスチックのカードは、アプリに番号を登録して使うこともできます。
カード番号とPINの両方が漏れると、第三者がそのカードをアプリに登録したり、残高を確かめたりできる状態になります。強制変更がこの組み合わせを無効にするための措置だったと読めます。未流通のカードが約56万件含まれているのは、売られる前のカードの番号とPINも、管理システムにあらかじめ登録されているためです。未流通のカードでも、売られた後にチャージされれば同じ危険が生じるので、変更の対象に入っています。
氏名・電話番号・クレジットカード情報は流出していないという説明と、その範囲
公表は、流出した情報に氏名・住所・電話番号・クレジットカード情報等の個人情報は含まれていないと明記しています。Webチャージでクレジットカードを使った人がいても、カード情報は対象外です。ペイクラウドホールディングスの開示でも、個人情報は「該当なし」とされています。
モスカードのようにチャージして使うプリペイドカードは、資金決済法の前払式支払手段に当たります。制度上の区分は資金決済法の区分とポイント・チャージ設計で整理しました。個人情報を含まない漏えいが、個人情報保護委員会への報告の対象になるかは公表文からは判断できません。ペイクラウドホールディングスは「関係機関に報告済」とだけ書いています。報告が必要になる類型は個人情報保護委員会への報告義務の実務にまとめています。
残高と補償、問い合わせ:PIN強制変更後の残高照会と専用窓口の使い分け
残高を確かめる3つの方法と、知らない引き去りを見つけたときの連絡先
FAQが案内する残高の確認方法は、公式サイトのモスカード管理、チャージや支払いのときのレシート、レジでの申し出の3つです。PINの変更でWebの照会が通らなくても、レシートとレジでの確認は使えます。直近のレシートの残高と今の残高を比べ、チャージ額の引き去りなど身に覚えのない利用がないかを見てください。
不明な利用を見つけたら、モスカードお問い合わせ専用窓口へ連絡します。受付時間は9時から22時で、10月27日以降の番号はフリーダイヤルの0120-395-126です。10月26日までは03-3496-8322でした。問い合わせの際は、利用した店舗や残高など、簡単な本人確認を求められる場合があるとしています。電話をかける前に、よく使う店舗名と直近のレシートを手元に用意しておくと話が早く進みます。
不正利用の補償は公表文に記載がなく、カード紛失時の既定とは扱いが分かれる
10月28日時点の公表には、不正利用があった場合の補償や、お詫びの品についての記載はありません。FAQには、カードを紛失した場合は再発行できず、残高の補償もしないという既定があります。ただしこれは利用者がカードをなくした場合の決まりで、委託先のシステムから情報が漏れた本件とは事情が違います。不明な利用があったときの扱いは、既定から推し量らず、窓口で確かめてください。
公式発表で追う経過:10月14日の検知からValue Card全体142万件の公表まで
モスカードの113万件と、Value Card全体の1,424,748件の関係
バリューデザインは、企業が自社のプリペイドカードを発行するためのサービス「Value Card」を提供しています。FAQが案内するモスカードの残高照会ページも、モス公式サイトではなくValue Cardのドメインに置かれている仕組みです。親会社のペイクラウドホールディングスの開示は、Value Card全体の流出件数を1,424,748件としています。内訳は、利用者が購入済みのIDが569,224件、購入前のIDが855,524件です。原因は、システムの一部の環境でWebサーバーの脆弱性を悪用されたことだと説明しています。
公表を時系列に並べると、次のとおりです。
- 10月14日〜18日:モスカードの管理システムへの不審なアクセスと不正ログイン試行を検知し、アクセスを遮断
- 10月19日:Value Cardのサーバーからの情報流出を確認
- 10月22日:バリューデザインが、PHPの脆弱性への対応として一部サービスの一時停止を告知
- 10月23日:モスフードサービスとペイクラウドホールディングスが同日に公表
- 10月27日:PHP対応の第2報で、停止していたサービスの再開状況を告知
モスの113万件がValue Card全体の件数にどう含まれるのか、モス以外にどの企業のカードが対象なのかは公表されていません。ペイクラウドホールディングスは、購入済みIDに不正利用のおそれがあったが対処済みで、実際の被害はないとしています。
同時期のPHP脆弱性によるサービス停止と、不正アクセスとの関係が未公表である点
バリューデザインの10月22日のお知らせは、PHPで公表された脆弱性2件(CVE-2026-109618、CVE-2026-109619)への予防措置として、アララ キャッシュレスとオンラインチャージサービスを一時停止したと告知しました。深刻度はCVSS 4.0で9.2、認証なしにサーバー上でプログラムを実行されるおそれがあるとしています。同じお知らせで、バリューカードASPサービスについては稼働中との説明です。10月27日の第2報では、アララ キャッシュレスは再開し、オンラインチャージは10月29日に完全再開する予定とされています。
不正アクセスの原因とされた「Webサーバーの脆弱性」がこのPHPの脆弱性と同じものかは、どの発表にも書かれていません。時期が近いという理由だけで結び付けるのは避けるべきです。この2件の脆弱性の影響範囲と修正版はPHP2Shell(CVE-2026-109618・109619)の影響範囲と修正版で整理しています。
開発側の教訓:カード番号と6桁PINだけで残高に届く設計を守る実装手順
6桁PINの漏えい後の復元耐性をSHA-256・scrypt・HMACで実測比較
モスカードのPINがどの形式で保存されていたかは公表されていません。ここでは一般論として、6桁のPINを保存する方式ごとに、データベースが丸ごと漏れたときに総当たりで戻せるかを確かめます。6桁のPINは100万通りしかないため、パスワード向けの保存方式をそのまま当てはめても守りきれるとは限りません。ハッシュの基礎はハッシュ化と暗号化の違いで解説しています。
# 6桁PINの保存方式ごとに「DBが漏れたとき総当たりで戻せるか」を実測する(Python 3.8以上・標準ライブラリのみ)
# 使い方: python pin_store_check.py
import hashlib, hmac, secrets, time
pin = f"{secrets.randbelow(10**6):06d}" # 検証用の架空PIN(実在カードとは無関係)
salt = secrets.token_bytes(16)
# 1) ソルト付きSHA-256:DBにソルトとハッシュが並んでいれば、100万通りを全部試せる
stored = hashlib.sha256(salt + pin.encode()).hexdigest()
t0 = time.perf_counter()
found = [f"{i:06d}" for i in range(10**6)
if hashlib.sha256(salt + f"{i:06d}".encode()).hexdigest() == stored]
print(f"SHA-256+salt: 100万通りを{time.perf_counter() - t0:.2f}秒で全探索、復元 {found == [pin]}")
# 2) scrypt(OWASP推奨値 N=2^17, r=8, p=1):1回の計算時間から100万通りの所要時間を見積もる
t0 = time.perf_counter()
hashlib.scrypt(pin.encode(), salt=salt, n=2**17, r=8, p=1, maxmem=256 * 1024 * 1024)
one = time.perf_counter() - t0
print(f"scrypt: 1回 {one:.3f}秒 → 100万通りで約{one * 10**6 / 3600:.0f}時間(1コア)")
# 3) HMAC-SHA256(鍵=pepper はDBと別のシークレット保管庫に置く):鍵が無ければ照合そのものができない
pepper = secrets.token_bytes(32) # 本番ではKMS/HSMから取得し、DBには書かない
stored_mac = hmac.new(pepper, salt + pin.encode(), hashlib.sha256).hexdigest()
guess_key = secrets.token_bytes(32) # 攻撃者はpepperを持たない
hit = any(hmac.new(guess_key, salt + f"{i:06d}".encode(), hashlib.sha256).hexdigest() == stored_mac
for i in range(10**6))
print(f"HMAC(pepper無し): 復元 {hit}")
print(f"HMAC(pepper有り)の照合: {hmac.compare_digest(stored_mac, hmac.new(pepper, salt + pin.encode(), hashlib.sha256).hexdigest())}")
Python 3.14.7(Windows)での実行結果は次のとおりです。PINは実行のたびに乱数で作る架空の値です。
$ python pin_store_check.py
SHA-256+salt: 100万通りを2.39秒で全探索、復元 True
scrypt: 1回 0.584秒 → 100万通りで約162時間(1コア)
HMAC(pepper無し): 復元 False
HMAC(pepper有り)の照合: True
ソルトを付けても、速いハッシュでは100万通りを2秒あまりで試し終えます。PythonのhashlibのscryptでOWASPのPassword Storage Cheat Sheetが示す設定(N=2^17、r=8、p=1)を使うと、1コアで約162時間かかる計算になります。ただし並列化すれば短くなり、カード1枚ずつに時間をかけるだけです。同じCheat Sheetは、ペッパーをパスワードのデータベースと分けてシークレット保管庫やHSMに置き、HMACの鍵として使う方法を挙げています。Pythonのhmacで鍵をデータベースの外に置けば、データだけを持ち出されても照合そのものができません。PINのように桁数の少ない秘密は、鍵付きのHMACで保存し、鍵は別のシステムで管理するのが筋です。
1枚ごとのロックだけでは止まらない、カードをまたぐPIN総当たりの数え方
保存方式とは別に、オンラインでの推測にも備えが要ります。カード番号が分かっている状態で6桁のPINを1回だけ試すと、当たる確率は100万分の1です。1枚あたり3回で止めるロックをかけても、攻撃者が380万枚のカードに1回ずつ試せば、およそ4枚は当たる計算になります。1枚ごとの失敗回数だけを見ていると、この攻撃ではどのカードも一度もロックされません。
OWASPのAuthentication Cheat Sheetは、ロックの設計を失敗回数の上限・観測期間・ロック時間の3つで決めるとしています。そのうえで、ロックの仕組みが他人のアカウントを締め出す攻撃に使われないよう注意を促しています。PINの照会窓口では、カード単位のロックに加えて、接続元ごと・時間帯ごとの失敗率を数え、全体の失敗率が普段より跳ねたら照会を絞る形が現実的です。モスフードサービスが再発防止策に挙げた、API経由の不正アクセス制御、簡易なパスワード設定の制限、管理アカウントの接続元IPアドレス制限も、この考え方と重なります。
| 守る対象 | 実装の例 |
|---|---|
| 保存したPIN | 鍵付きHMACで保存し、鍵はKMSに置く |
| カード1枚への推測 | 失敗回数の上限と観測期間でロック |
| カードをまたぐ推測 | 接続元ごとと全体の失敗率で照会を絞る |
| 管理画面 | 接続元IPの制限と多要素認証 |
失敗率の数え方とレート制限の方式はAPIレート制限の5方式と429設計、推測攻撃の検知指標はパスワードリスト攻撃の検知の指標、API全体の対策はAPI不正アクセス対策の実装手順で扱っています。
事業者の判断:委託先が運用する決済基盤を点検する範囲と、第三者診断の使い方
自社ブランドのカードでも、委託先のサーバーが破られれば発行元の事故になる
今回、利用者に向けて公表し、窓口を開いたのは発行元のモスフードサービスでした。システムを運用していたのは委託先でも、カードの名前は発行元のものです。プリペイドやポイントを外部のサービスで発行している企業は、委託先のサーバーがどの脆弱性情報を追い、更新を何日以内に当てているかを契約と報告で確かめておく必要があります。委託先の監督の進め方は委託先管理の監督義務とチェックリスト、委託先を経由した攻撃の類型はサプライチェーン攻撃の起点別3類型で整理しています。
使い続けてよいのは、PINが鍵付きで保存され、照会窓口に失敗率の監視があり、管理画面に接続元の制限がかかっている構成です。見送りを考えるべきなのは、これらを委託先に尋ねても答えが返ってこない場合です。同じプリペイドの事案として、IDARE不正アクセスの漏えい項目と補償も参考になります。
カードの照会窓口と管理画面を外部の目で点検するときの脆弱性診断
自社で作った画面やAPIは点検していても、委託先が運用するサーバーや照会窓口は点検の範囲から抜けがちです。カード番号とPINで残高に届く窓口は、推測の試行回数と管理画面の入口を外部から試してみないと、実際の強さが分かりません。診断の種類と費用の考え方は脆弱性診断の種類・費用相場と外注の判断基準で解説しています。
プリペイドやポイントの照会・チャージの仕組みを、委託先の部分まで含めて第三者に確かめてもらいたいなら、脆弱性診断・セキュリティ診断で相談できます。
よくある質問
モスカードの不正アクセスについて、利用者から出やすい質問をまとめました。
モスカードは今も店頭で使えますか?
使えます。公表によると、店頭・ネット注文・お席注文でのモスカードの利用は問題ありません。カードを作り直したり、店舗で手続きをしたりする必要があるという案内も出ていません。支払いのときのレシートで残高を確かめ、身に覚えのない減り方がないかを見ておくと安心です。
自分のモスカードが流出の対象か確かめる方法はありますか?
10月28日時点で、対象かどうかを照会するページは公開されていません。流出したカードはPINが強制変更されているため、Webの残高照会や公式アプリへの登録が通らなくなる場合があります。通らなかったときは、モスカードお問い合わせ専用窓口に連絡してください。
モスカードの問い合わせ窓口の電話番号は何番ですか?
モスカードお問い合わせ専用窓口は、10月27日以降はフリーダイヤルの0120-395-126です。受付時間は9時から22時で、10月26日までは03-3496-8322でした。問い合わせの際に、利用店舗や残高などの簡単な本人確認を求められる場合があります。この番号以外を案内する連絡には応じないでください。
モスカードの残高が勝手に使われていたら補償されますか?
10月28日時点の公表には、補償についての記載がありません。FAQにある「紛失時は残高を補償しない」という決まりは、利用者がカードをなくした場合のものです。今回の事案とは事情が違うため、不明な利用を見つけたら、すぐに専用窓口へ連絡して扱いを確かめてください。
モスカードの不正アクセスで個人情報は漏れましたか?
公表によると、流出したのはカード番号・PIN・残高情報で、氏名・住所・電話番号・クレジットカード情報は含まれていません。親会社ペイクラウドホールディングスの開示も、個人情報は該当なしとしています。それでも、事件に便乗した偽のメールやSMSが届く可能性はあるため、リンクを開かずに公式サイトで確かめてください。
関連記事
- 不正アクセス対策とは:IPA・JPCERTの2026年10月注意喚起に沿った企業の点検手順:企業として点検する範囲の全体像
- IDARE不正アクセス:12.9万人の漏えい項目と対象確認、不審な連絡と補償:同じ月に起きたプリペイド事業者の漏えい
- PHP2Shellとは:CVE-2026-109618・109619の影響範囲と修正版、更新できない場合の設定【2026年10月】:委託先が停止の理由に挙げた脆弱性
- パスワードリスト攻撃とは?検知の指標と漏えい照合・レート制限の実装:推測型の攻撃を見つける指標と実装
- 委託先管理とは?個人情報保護法25条の監督義務とチェックリスト・契約条項の実務:委託先に確かめる項目と契約の決め方