パスワードを忘れた? アカウント作成
13078 story

auのW42CAとW42Hが%nと%Sの文字列で強制再起動 112

ストーリー by kazekiri
ユニークな事例 部門より

JonMoo曰く、"auのW42CAとW42Hが何とメール作成時または受信メールの表示時において、「%n」および「%S」を表示させた場合に 端末が強制再起動してしまうというバグが発覚したとのこと。 「%」と「n」の間に0~255の半角数字や「+」「-」がある場合も同様とのことだ。 記事では「発生する条件が限定的であるため、基本的にソフトの改修を行なわず、発表も行なわない方針」ということらしいが、あまりにも恥ずかしいので発表しないの間違いだろうか。まあ、printfでしょうかねぇ。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • こういうのかな。
    int xxx_func(...){
       char *str;
     
       str = (char *)malloc(sizeof(char) * x);
     
       (strに文字が入る処理)
     
       printf(str);
     
       return ret;
    }
    まあ、ここまで来ていれば次のようにするだけでOKなんですが...
      printf("%s",str);
    どっかしらに入りそうではありますねぇ

    # printf Injectionとでも言うのだろうか
    --
    M-FalconSky (暑いか寒い)
    • by Anonymous Coward on 2006年08月04日 15時29分 (#991020)
      おおう、freeがないorz

      # 晒しなのでACなM-FalconSky
      親コメント
    • by Anonymous Coward on 2006年08月04日 15時31分 (#991022)
      > # printf Injectionとでも言うのだろうか

      一般的には、format string bug とか、format string vulnerability とか
      呼ばれてます。

      "vulnerability" なのは、場合によっちゃ攻撃可能だから。
      携帯電話でどうなのかはよくわかりませんが。

      参考: http://www.acm.uiuc.edu/sigmil/talks/general_exploitation/format_strings/
      親コメント
    • by f10a+ (26297) on 2006年08月04日 17時40分 (#991129)
      ”メールで特定の文字列を入力するとバグ”といえば、
      SH902iのメール件名に「%」が入っていると異常動作 [itmedia.co.jp]を真っ先に思い出しました。

      カシオ日立モバイルコミュニケーションズはW42CA・W42Hから
      KCP [itmedia.co.jp]に切り替えたようで、
      今回のバグはBREW化されたメーラーが臭いですね。
      親コメント
    • by Anonymous Coward on 2006年08月04日 15時43分 (#991035)
      今回は%sじゃなくて%Sだな。あと%nか。printfの変換指定子としてはマイナーだな。

      %S=%lsで、ふつーの%sがchar*を期待するのに対して、%Sはwchar_t*だ。なんで%sは大丈夫なんだろう。%Sはマイナーだから対策を忘れてたのかな。
      %nもあんまり使わないから忘れてたのかな。
      親コメント
    • strがどんな長さでも%s一発で全部書式変換 & 出力できるとは保証されていないのではなかったっけ?

      # ずいぶん昔にCから足を洗った(ということになっている)のでtuneo。
      親コメント
    • 自己レス

      例で上げたのは、%系一般で問題を起すだけです。
      # やたら+モデもらっちゃって悪い気がする。

      あと、最近NetBSDのカーネル周りを見ているんですが、

      コンパイル時に引数の数と型をチェックできてるんですよね。
      これコンパイラのオプションだろうか。

      # フォーマットはstaticな文字列だけ+型チェック+引数の数チェックでだいぶマシ
      # でもカーネル内の関数なので使えるフォーマットはとても少い...

      # そしてprintf家系は最終的にvsnprintfに到達していました。
      --
      M-FalconSky (暑いか寒い)
      親コメント
  • by Anonymous Coward on 2006年08月04日 16時28分 (#991082)
    1.メモ機能で%S入力→問題なし
    2.メール宛先に%S入力→問題なし
    3.メール本文に%S入力→画面真っ暗に。しばらくしてボタンを押すと初期画面。(起動プロセスなし)
    4.%Sを本文に含むメールを受信→メールを読もうとしたら3と同じ症状(一覧までは問題なし)
    5.%Sを件名(subject)に含むメール→受信途中で3の症状→センターにメールありの表示→受信しようとしたらメールなしと表示→メール一覧に該当メールあり→メール見ようとしたら本文受信開始(メール自体は普通に見れました)

    #送らないでくださいorz
  • 該当ユーザぐらいには (スコア:4, おもしろおかしい)

    by Anonymous Coward on 2006年08月04日 17時17分 (#991107)
    これによるイタズラ等が発生しそうですね。

    auは該当ユーザに
    「メールタイトル、本文に%S,%nが含まれると端末が再起動してしまう」
    と注意を促す「メール」を送ればいいのに。
    • Re:該当ユーザぐらいには (スコア:4, おもしろおかしい)

      by Anonymous Coward on 2006年08月04日 18時09分 (#991146)
      ♪auさんたらお手紙書いた
      ♪携帯さんたら読めずに落ちる
      ♪しかたがないのでお手紙書いた
      ♪さっきのお手紙再送してね

      かくして無限ループ
      親コメント
  • いやいや (スコア:2, すばらしい洞察)

    by tondeke (29053) on 2006年08月04日 15時21分 (#991016) ホームページ 日記
    >受信メールの表示時

    すごく、回避しづらい嫌がらせだと思うんですが。

    >事象が発生する条件が限定的であるため

    限定的と言えるんでしょうか??
    • Re:いやいや (スコア:1, 興味深い)

      by Anonymous Coward on 2006年08月04日 15時31分 (#991023)
      それで「発表しない方針」だったのでは?
      発表されてしまった今となっては改修するしかない。

      この手の脆弱性は公表されてからそれを衝くマルウェアもといマルメール登場までゼロ日です。
      親コメント
  • URLエンコード (スコア:2, すばらしい洞察)

    by Transponder (6045) on 2006年08月04日 15時45分 (#991036) ホームページ 日記
    URLエンコードされた文字列を含んだリンクアドレスとか怖くて送れないんですけど。

    そのへんはどうなんだろうか
    --

    # I will work seriously this year!

  • 自前で作ったprintf()のサブセットがバグ込みでした、と想像。
    いや自分自身「○○のサブセット」よくやるんで。

    でもフルセットのprintf()バグなしで書けといわれて書ける人間なんてぶっちゃけなかなかいないぞ。
    --
    +=======------
    | K.Hamaura a.k.a. SeyfertSluw
    | 「SFはどこまで実現するか」 復刊希望は→http://www.fukkan.com/vote.php3?no=4901
  • by Anonymous Coward on 2006年08月04日 15時20分 (#991012)
    あれだ、%nや%Sを意図的に含んだSPAMをばらまくとかなりヤバイってこった

    # それでも修正しないんですか?
    • by docile-jp (16652) on 2006年08月04日 15時52分 (#991047) 日記
      spamでなくても、この件を友達に教えようとして、たとえばこのストーリーのタイトルをそのまま貼りつけたメールを送るとハマりそうな。

      最近だと、学校やプロバイダのアドレスに来たメールも携帯電話のアドレスに転送してる人もいますしねぇ…。
      親コメント
  • 対策 (スコア:1, すばらしい洞察)

    by Anonymous Coward on 2006年08月04日 15時20分 (#991014)
    %%s でOK?
  • by docile-jp (16652) on 2006年08月04日 15時37分 (#991028) 日記
    • 不具合を発表して直したシャープ(と、ドコモ&ボーダフォン)
    • 不具合を黙っていて、ユーザに言われないと修正もしない(略)。
    という感じがします。

    --
    不具合の内容としては、au のほうがまずいと思うんだけど…。

  • by densuke (113) on 2006年08月04日 18時04分 (#991144) 日記
    W32SAの妊娠事件 [impress.co.jp]の時は、ケータイアップデートでプログラム更新をしたりというのがありました。

    W3xあたりからこの機能はあったと思うのですが、どうしてこういう時に使わないんでしょう。
    もしかしてケータイアップデートはSA限定?
    --
    -- やさいはけんこうにいちば〜ん!
    • by kubox (23429) on 2006年08月04日 21時03分 (#991216)
      かつて、三洋のグローバルパスポート機で不具合があったとき、auショップでソフトウェアアップデートできるものとできないものの違いをauサポートに聞いたとき、個体差があって適用できないとか、致命的なものだと修理扱いと言われました。
      事情は変わっていると思うので想像ですが、ユーザがアップデートして、ちゃんと起動できない可能性があるものは修理扱いなのかなと思いました。
      親コメント
  • by onnoji (27294) on 2006年08月05日 1時10分 (#991319)
    ゚/。sとか。
    url送付する前に全部変換をかければOKだ。

    #面倒だけれども。
typodupeerror

にわかな奴ほど語りたがる -- あるハッカー

読み込み中...