固定された投稿

2024年4月29日から30日にかけてIceshrimpおよびめいすきーで修正されたMisskeyのセキュリティ上の問題を本家においても修正することを目的としたパッチを公開します。公開の経緯およびパッチの詳細については引用元の投稿とそのリンク先のREADMEを参照してください。
QT: fedibird.com/@tesaguri/1123559
[参照]

tesaguri 🦀🦝  
https://gist.github.com/tesaguri/f3c73f81bc000f669fc8adfab316603b I'm publishing a hotfix for Misskey v2024.3.1 (78ff90f) aimed at fixing the secur...
スレッドを表示
tesaguri 🦀🦝 さんがブースト

連合先を信用するなら連合先がDocumentかPageオブジェクトをLinkの代わりにつけて取得を回避とかになるかもしれないけど信用するもんじゃないだろうしなぁ

スレッドを表示
tesaguri 🦀🦝 さんがブースト

FediverseがDDoSツールになるの、外部の最も修正すべきって意見はわかるけど理念的に最も修正困難な問題だし手のつけようがないのではって気持ちにもなる

もしかしたら<registry.ietf.org/ietf-digest->に何か書いてあったのかも知れないけど、リンクが切れている(というかregistry.ietf.orgとかいう強そうな名前のドメインでも落ちるものなのか……)

スレッドを表示

ところで`RsaSignature2017`の定義(というかより仕様中でsignature suiteの例として示されていただけの定義だけど……)としては`"digestAlgorithm": "registry.ietf.org/ietf-digest-" `としか指定されていたのに対してMastodonの実装ではCreate Verify Hash Algorithmにおける"the message digest algorithm"相当の処理で入力をSHA-256でハッシュしてから16進法表現にエンコードしている(<github.com/mastodon/mastodon/b>)のだけど、この16進法表現の根拠がいまいち分かっていない

古いドラフトの仕様が使われているという点についてはcavage-http-signaturesにも言えることだけど、Linked Data Signaturesは当時のドラフト(<github.com/w3c-ccg/ld-signatur>)のSecurity Considerations節が空っぽだったという点において微妙さのレベルが一段違うと思う

スレッドを表示

まあ、Mastodonのドキュメント(<docs.joinmastodon.org/spec/sec>)にも書かれているとおり、Linked Data Signaturesというドラフト段階の仕様は必要がないなら実装するべきでないですよね(今言うことか?)

PoCを試みているときに良い感じのLD Signaturesの署名用のツールがないものかとざっと探したところめぼしいものが見当たらなかったので、なら自分で書くかと思って書き始めて途中で正気に戻って一旦放棄したやつです(?)

tesaguri/rsa-signature-2017-rs: [WIP] Rust implementation of `RsaSignature2017` cryptosuite of Linked Data Signatures spec
github.com/tesaguri/rsa-signat
はい(?)

けものフレンズ3|おしらせ|(5/1 18:00更新)「のとじま臨海公園水族館」様に対する支援金の寄付実施について|アピリッツ
kemono-friends-3.jp/info/detai

そういえば今さらだけど、情報公開後はCI走らせ放題なのだから、やろうと思えばちゃちゃっと手直ししてテストすることも出来たか。今はもう上流にもマージされているのであれだけど
QT: fedibird.com/@tesaguri/1123592
[参照]

tesaguri 🦀🦝  
QAもどき(変更箇所にテストがないので手動でサーバを動かして破綻していないか確認する。なお情報公開前なので公開でpushして適当にCIでコンテナイメージをビルドさせるわけにもいかない)
tesaguri 🦀🦝 さんがブースト
tesaguri 🦀🦝 さんがブースト

私だったら CONTEXTS → PRELOADED_CONTEXTS のリネームも混乱を招くからしないわね。
この場合パッチに不具合があるとかコンフリクトして適用を諦められるってことだけは絶対に避けたいのだわね。

RE:
https://fedibird.com/users/tesaguri/statuses/112359224014348867 [参照]

tesaguri 🦀🦝  
https://github.com/MisskeyIO/misskey/commit/6b1b7fdda5b3c3506d37de702879d7a9af5b0dd6 まあつまり、こっちの方が正しいのだよなあ

怖い話をしても良いですか? いいよー。私、今までTypeScriptは1ミリ行も書いたことがないのですよね……(?)

QAもどき(変更箇所にテストがないので手動でサーバを動かして破綻していないか確認する。なお情報公開前なので公開でpushして適当にCIでコンテナイメージをビルドさせるわけにもいかない)

スレッドを表示

しかしリファクタリング相当の変更を差し戻してからもう一度QAもどきの作業をやり直す余裕もなかったので、はい

スレッドを表示

gist.github.com/tesaguri/f3c73
署名以外の処理もするようになったしもはや`LdSignatureService`という命名は相応しくないやろ〜と改名してしまったけど、冷静に考えると脆弱性の修正にそんなしょうもないリファクタリングを抱き合わせるなという話なのだよな……

tesaguri 🦀🦝 さんがブースト
めいめい  
みんなで同じ役割をするけど違う対策コードを書くの効率悪すぎなのだわ https://github.com/mei23/misskey-v11/commit/0d0a465c057837684633e66364e98c7adb8437c6 https://firefish.dev/firefis...
古いものを表示
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。