パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

「白紙」の万能署名が作れるJavaの脆弱性「Psychic Signatures」」記事へのコメント

  • by Anonymous Coward

    コイツいっつもお漏らししてんな

    • by Anonymous Coward

      セーフなやつを教えてくれw
      マイナーな物はニュースにならないだけで、どの言語、環境でも致命的な問題は常に見つかっているよ。

      • by ikotom (20155) on 2022年04月24日 6時36分 (#4238375)

        Javaの場合は言語(SDK/ライブラリ)の問題とVMという実行環境の問題がセットになってますから目立つんでしょうね。

        他言語でも、たとえば C/C++であれば glibc の脆弱性が今年はじめに見つかっていますが
        これはWin環境(MSコンパイラ)では影響ありませんから
        C/C++ そのものの脆弱性とは認識されないところがあります。
        https://www.security-next.com/133636 [security-next.com]

        あるいは C# だとVMがある点でJavaと似た感じですが、
        実行環境の脆弱性は Windows update で勝手に対策してくれてる感あって
        Windows自体の脆弱性に紛れている感ありますよね・・・。

        親コメント
        • by Anonymous Coward

          それだけじゃない。
          Java製フレームワークって脆弱性を作り込みやすい危うい設計のものが多い印象。
          例えを単純化すると、ユーザー入力を受け入れる口にそのまま生のSQLを流し込める作りというか。

          • by Anonymous Coward on 2022年04月24日 12時02分 (#4238454)

            Struts2が脆弱性連発してSpringに移行する流れがあったけど、SpringもELでgetterにアクセスし放題な構造はまったく同じなのでは? と思っていたら案の定だった。
            https://www.scutum.jp/information/waf_tech_blog/2022/04/waf-blog-082.html [scutum.jp]

            今回はSpringのCVE-2022-22965について、それが12年前の脆弱性が蘇ったものであるという点などについて技術的な解説をしてみました。個人的にはStruts2と同じく、外部からgetterやsetterをかなり自由に呼べてしまうという根本的な設計思想そのものが非常に危険だと考えており、自分や自社の開発でSpringを利用することはありえないと考えています。

            あるクラスがgetterやsetterで「公開」しているのは基本的にJavaプログラム内のアクセスの話であり、HTTP経由でインターネットの向こう側からプロパティをセットしてくれ、と考えているわけではありません。TomcatのAccessLogValveを開発した人は間違いなくそう考えているだろうと思います。長いJavaの(特にエンタープライズ寄りの)開発の歴史においてJava Beansという概念があり、その流れからこのようなプロパティアクセスがウェブフレームワークに入り込んだのだろうと推測しますが、普通に常識的に冷静に考えてセキュリティ的にあり得ないのではというのが個人的な見解です。

            親コメント
            • by Anonymous Coward

              "Bean" 規約が良くなかった。
              publci field が開放されてる物であり、getter/setter でアクセス出来る物は隠蔽されてる物、
              としてFWが設計されていれば getClass() 経由でのアレコレは無かった。

              もうちょっと遡るとOOPでカプセル化の過剰なアゲが良く無かった。

          • by Anonymous Coward

            con.ecec(“delete“+hoge+...なんてことくらいどの言語の標準APIでもできるでしょ。標準APIというか各言語のDB操作関連APIの仕様か。

        • by Anonymous Coward

          .NET Frameworkは更新してくれるが.NETCore以降はしてくれないよ。
          さらに言えば自己完結型でビルドするとビルドし直さないと修正は反映されない。

          • by Anonymous Coward

            (インストールの仕方よっては?)Windows Updateで入ってくるよ
            最近だとKB5013437(.NET 6)/KB5013354(.NET 5)/KB5013353(.NET Core 3.1)

            • by Anonymous Coward

              Windows Updateではなく、Microsoft Updateで入ってくるんじゃないかな
              「.NET 5.0」「.NET Core 2.1/3.1」が“Microsoft Update”経由で更新可能に [impress.co.jp]

               なお、“Microsoft Update”は“Windows Update”とは異なるので注意。「.NET」「.NET Core」は「.NET Framework」と異なり、Windows OSとは独立した製品だ。そのため、更新プログラムの詳細オプションで[Windows の更新時に他の Microsoft 製品の更新プログラムを受

          • by Anonymous Coward

            Javaも自己完結型押しなんだよね。
            JREの単体配布やめちゃた。

            • by Anonymous Coward

              型押しとか言うから自己完結でエンボス加工される革があるのかと思ったじゃないか。

              • by Anonymous Coward

                正しくは自己完結型推しだな

        • by Anonymous Coward

          今回の件についてはOracleとOpenJDKが自前で実装していたからという点が挙げられる。C#というか.NET Coreだと、OpenSSLかWindows APIを使うので、.NETの脆弱性としてこういうのが出てくる可能性は非常に低い。

          もちろん、代わりにOpenSSLの脆弱性の影響を受けるトレードオフ。

        • by Anonymous Coward

          MS一社提供だと「実装が仕様です。使う側がチェックしないのが悪い」も出来るし

最初のバージョンは常に打ち捨てられる。

処理中...