てきとうなメモ

本の感想とか技術メモとか

Security

パスワードポリシーとRobert MorrisとKen Tompson

yamdas.hatenablog.com という記事を見た。 この論文が犯した過ちは二つがあり、一つ目は複数の文字種(小文字、大文字、数字、記号)を含めることがパスワードの安全性を高めるというパスワードの複雑化の推奨で、現実には「p@ssword」や「Password1」とい…

Windowsのipv6によるRCE脆弱性(CVE-2024-38063)

Windows TCP/IP Remote Code Execution Vulnerability CVE-2024-38063 ipv6で特殊なパケットを送ることで任意のコードを実行できるとのこと。パッチは既に出ているので、windows updateをかければ良い。 発見者は詳細を公開する予定がなく、MSもPoCやexploit…

HertzBleed Attack

Hertzbleed Attack CPUの脆弱性で大きな話かなと思って論文少し読んでみた。が、Q&Aに書かれている通り、すぐに心配すべきものではないという感想。 Should I be worried? If you are an ordinary user and not a cryptography engineer, probably not: you …

log4j2のlookupの変数展開シンタックス

変数展開シンタックス CVE-2021-44228の件でLookupにおける変数展開をどうしているのか気になったので、StrSubstitutor.substituteの辺りを読んでみた。 ${...}となっている部分のシンタックスは以下のようになっている。 ${varName} ${varName:-varDefaultV…

metaタグによるSet-Cookie

metaタグでSet-Cookieできる(できた)ことを知らなかった。 <meta http-equiv="Set-Cookie" content="sessionid=xxxxx"> metaタグをインジェクト可能な脆弱性が存在すると攻撃者がcookieを設定させることができてしまう。 ただ、現行のHTML Living Standardによると HTML Standard Set-Cookie state (http-equiv="set-c</meta>…

log4j2の脆弱性(CVE-2021-44832)

「Apache Log4j」にまたRCE脆弱性 ~修正版のv2.17.1などが公開 - 窓の杜 Log4j – Apache Log4j Security Vulnerabilities Apache Log4j2 versions 2.0-beta7 through 2.17.0 (excluding security fix releases 2.3.2 and 2.12.4) are vulnerable to a remot…

log4j2の脆弱性(CVE-2021-44228)

少し調べたのでメモ 概要 外部からの入力をlog4jでそのままログ出力しようとすると、任意のコードを実行できる脆弱性 CVE-2021-45046とv2.16.0について v2.15.0で修正されたかに見えたが、MessagePatternConverter以外の攻撃経路が見つかった。そのため、v2.…

ALPACA Attack

ALPACA Attack 論文ちょっと読んでみた。 サーバAへのリクエストを同じサーバ証明書を利用している別プロトコルのサーバBに流すことで、秘密情報を盗んだり、XSS攻撃をすることができるという話。攻撃者はクライアントとサーバの間にいて、TLS通信を本来のサ…

noteで執筆者のIPアドレスが漏洩した件

note.jp note.jpの件について思ったことをつらつらと IPアドレスで個人特定可能か、IPアドレスは個人情報かどうか これについては楠さんの説明が良さげ。単体で個人特定は難しいけど、いろいろ紐付けることができると個人特定できる可能性がある。そして紐付…

gitなどのSCMのssh URL処理の脆弱性

Compromise On Checkout - Vulnerabilities in SCM Tools · The Recurity Lablog ssh://-oProxyCommand=gnome-calculator/watというようなssh URLを処理しようとして、 ssh <ホスト名> ...のような形式で渡すと ssh -oProxyCommand=gnome-calculator ...とな…

Struts2の脆弱性(S2-046)

S2-045の話は既に書いたけども、S2-046は書いていなかったのでちょっと書く。↓のやつ。Struts2-046: A new vector - Hewlett Packard Enterprise Communityこの脆弱性は、以下の3つの条件に合う場合、マルチパートのアイテムのファイル名に記述されたOGNL式…

Struts2の脆弱性(S2-045, CVE-2017-5638)

だいぶまとめられているので私が書くことはあまりなさそうな。piyokangoさんのまとめStruts2の脆弱性 CVE-2017-5638 (S2-045)についてまとめてみた - piyologこちらに解析されている方がいて詳しいStruts2のリモートコード実行可能脆弱性(CVE-2017-5638)を分…

CVE-2016-6210の修正

OpenSSH 7.3がリリースされて、CVE-2016-6210が修正されたそうだ sshd(8): Mitigate timing differences in password authentication that could be used to discern valid from invalid account names when long passwords were sent and particular passwo…

Apache Commons FileUploadの脆弱性(CVE-2016-3092)

JVNDB-2016-000121 - Apache Commons FileUpload におけるサービス運用妨害 (DoS) の脆弱性Apache Commons FileUploadにDoS攻撃の脆弱性なのだが、攻撃方法の詳細は説明されていない。調べたところ、推測なのだが、2年前のDoS攻撃の脆弱性(CVE-2014-0050)と…

ImageMagickの脆弱性(ImageTragick)

piyokangoさんが詳しいが自分も少し調べたので。d.hatena.ne.jp ImageTragick どんな脆弱性? 外部からの入力により、意図せずに、ファイルを読みこんだり、ファイルを移動したり、削除したり、特定のURLにアクセスしたり、任意のコードを実行可能な脆弱性。…

Apache Struts2の脆弱性(CVE-2016-3081)

JVNVU#91375252: Apache Struts2 に任意のコード実行の脆弱性ぐぐるとみつかるPOCで1番簡単そうなのを解説してみる http://www.example.com/sample.action?method:%23_memberAccess%[email protected]@DEFAULT_MEMBER_ACCESS%2C%23test%3D%23context.get%…

Googleの脆弱性公開にMicrosoftが怒る

GoogleがMicrosoftがパッチを公開する前に脆弱性の情報を公開。 MicrosoftのWindows 8.1 Updateに権限昇格につながる未修正の脆弱性が存在するとして、Googleが米国時間の2014年12月29日に情報を公開した。パッチは公開されておらず、Googleの公開方法に疑問…

lessの脆弱性

Full Disclosure: on Linux, 'less' can probably get you owned lessはLESSOPENとLESSCLOSEで前処理、後処理を行うことでいろいろな種類のファイルを表示することができる。最近のLinuxディストリビューションは前処理/後処理スクリプトを用意してくれてい…

STARTTLS改ざん問題

インターネットサービスプロバイダはメールの暗号化を勝手に解除していることが判明 - GIGAZINE STARTTLSは他のサーバやクライアントと通信する際に電子メールサーバに暗号化を要求するというもので、エンドツーエンドで暗号化が行われるPGPとは異なり、暗号…

POODLE攻撃

This POODLE Bites: Exploiting The SSL 3.0 Fallback (pdf) 読んだ。中間者攻撃でかつ被害者に何度もリクエストを投げさせないといけないようなので、攻撃はちょっと難しそうな気がする。脆弱性の原因はSSLv3とCBCの組合せにある。CBCはブロック暗号で平文…

bashのFlorian's patchとアップデート時の再起動

Shellshock関係でbashをアップデートした後にbashを利用しているプロセスを再起動するかどうかという話。 Mitigating the shellshock vulnerability (CVE-2014-6271 and CVE-2014-7169) - Red Hat Customer Portal RHELの文書はちょっと混乱していて最初は再…

Shellshockの攻撃をModSecurityで防ぐ

今回のShellshock問題の対策としては普通にbashのアップデートで良いのだけども、RedHatにModSecurityで防ぐ方法が載っていた。 The following mod_security rules can be used to reject HTTP requests containing data that may be interpreted by Bash as…

bashの脆弱性(CVE-2014-6271, CVE-2014-7169)

CVE - CVE-2014-6271 Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271, CVE-2014-7169) - Red Hat Customer Portal これはひどい。こんな感じで環境変数に設定したスクリプトを実行してしまう。 $ env x='()…

Struts1の脆弱性(CVE2014-0094)の回避策いろいろ

回避策をいろいろ見かけるようになったのでちょっとまとめる サーブレットのFilterでフィルタ Protect your Struts1 applications - HP Enterprise Business Community FilterでStrutsにリクエストが来る前にclassを含むクエリパラメタをエラーにしてしまう…

リフレクションでオブジェクトのプロパティを設定するライブラリは解析対象にしない親クラスを指定すべきな気がする

今回のStruts1の脆弱性の問題は、どちらかというとcommons-beanutilsの問題な気がする。commons-beanutilsはアクセス可能なプロパティは全て設定できてしまうのだが、使う側からすると自分が想定しているプロパティにのみ設定してほしいという要望はあるだろ…

Struts1の脆弱性(CVE2014-0094)はDynaActionFormには影響しないっぽい

DynaActionFormはDynaBeanをimplementsしていて、commons-beanutilsのBeanUtilsBean#setPropertyのコードで別のルートに進む。struts-config.xmlに設定した属性しか設定できないので、セキュリティ的に正しい実装になっているみたい // Calculate the proper…

CVE2014-0094のStruts1のパッチ

パッチというかorg.apache.struts.util.RequestUtils#populateを以下のように修正すれば良さげ。テストちゃんとやっていないので、自己責任で。 public static void populate(Object bean, String prefix, String suffix, HttpServletRequest request) throw…

Struts1にも脆弱性

ラック、Apache Struts 1利用サイトに注意喚起 - Struts 2と同様の脆弱性 | マイナビニュース Apache Struts 2の脆弱性が、サポート終了のApache Struts 1にも影響~国内でいまだ大量稼働するStruts 1利用企業に、直ちに緩和策を~ | セキュリティ情報 | 株…

OpenSSLの脆弱性(Heartbleed)

Heartbleed Bug UbuntuのOpenSSLのpatchを見ての推測をてきとうに書いてみる。TLS/DTLSプロトコルにHeartbeatという拡張プロトコルがあって、接続先が生きているかどうかをチェックするために使われたりする。こいつは基本的にechoプロトコルみたいにリクエ…

Mac OS X/iOSのSSLの脆弱性

Apple史上最悪のセキュリティバグか、iOSとOS XのSSL接続に危険すぎる脆弱性が発覚──原因はタイプミス? | アプリオ ImperialViolet - Apple's SSL/TLS bug OS XとiOSのSSL接続に脆弱性があったらしい。 This signature verification is checking the signat…