狙われた7pay「外部ID連携」の脆弱性の全貌。急遽“遮断”した理由 | BUSINESS INSIDER JAPAN
https://www.businessinsider.jp/post-194660

タロウさんによると、7payの外部IDログインの仕様上の問題点は次のようなものだという。

外部IDを使ったログインの場合、一般的なツールを使うことで容易にID書き換え(後述)によるなりすましログインができた
書き換えに使うID情報は、X桁の数字を元にした整数(※)が含まれ、容易に総当たり、また一部はソーシャル上の公開情報から推測可能だった
オムニ7の認証用APIはセブン-イレブンアプリを介すことなく外部から容易にアクセスし、トークン(鍵情報)を入手できる状態だった

(略)
https://assets.media-platform.com/bi/dist/images/2019/07/15/omni7_7pay_01-w1280.jpg
https://assets.media-platform.com/bi/dist/images/2019/07/15/7pay_2_omni7_-2-w1280.jpg
https://assets.media-platform.com/bi/dist/images/2019/07/15/omni7_7pay_03-w1280.jpg

先ほどの3枚の画像で非常に重要なのは、2枚目だ。

この画像から明らかなのは、オムニ7の認証システムでは、「リクエストされたユーザーIDがオムニ7の会員登録情報と合致さえすれば、
トークンと呼ばれる鍵情報を返していた」ことだ。外部IDを使うOAuth認証では、パスワードなどは必要なかった。

2枚目の画像の「id」の下の項目「extIdSiteCd」の右隣の2桁の数字は、各外部ID連携事業者
(Yahoo!、Google、Facebook、Twitte、LINE)の属性を示すもの。それぞれ01、03、04、05、06が割り当てられていた

つまり、別の言い方をすると「id」の文字列と、ID連携事業者を示す2桁の数字の組み合わせを総当たりすることで、

攻撃者は比較的容易にID連携で会員登録したユーザーのトークンを手に入れることができ、それを使ってアプリへのなりすましログイン、
アプリ内の操作が可能だった
このトークン情報を使うことで「アプリを介すことなくユーザーの会員登録情報(氏名、生年月日、住所など)の取得」が可能
……という状態にあったのが実情とみられる。