2024-09-01から1ヶ月間の記事一覧

CVE-2023-28120: Possible XSS Security Vulnerability in SafeBuffer#bytesplice

Rails の過去の脆弱性から勉強するシリーズ #4 github.com 修正コミット github.com 脆弱性の概要 SafeBuffer#bytesplice に XSS 脆弱性の可能性がある。 html_safe と SafeBuffer 出力する文字列がすでに検査済みで、追加で HTML エスケープする必要がなく…

Rubyセミナー東京2024に参加してきた

セミナー参加感想文です。 rubyassociation.doorkeeper.jp 基調講演「Better Ruby」 Rubyのパパ、まつもとさん (Matz) による講演。 CRuby 開発の近況報告という感じの内容だった。というか RubyKaigi2024 のキーノートとタイトル同じで(自分は RubyKaigi …

CVE-2023-23913: rails-ujs vulnerable to DOM Based Cross-site Scripting contenteditable HTML Elements

Rails の過去の脆弱性から勉強するシリーズ #3 github.com 修正コミット github.com 脆弱性の概要 contenteditable な要素に malicious HTML をペーストすることで DOM based XSS の可能性がある。 contenteditable に HTML そのままペーストできるの?レベ…

CVE-2023-28362: Actionpack has possible cross-site scripting vulnerability via User Supplied Values to redirect_to

Rails の過去の脆弱性から勉強するシリーズ #2 github.com 修正コミット github.com 脆弱性の概要 HTTP header で利用できる文字種は RFC で定義されている。 RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing 修正前のアプ…

CVE-2023-38037: Active Support Possibly Discloses Locally Encrypted Files

Rails の過去の脆弱性から勉強するシリーズ。 github.com 修正コミット github.com 脆弱性の概要 Rails には秘密鍵を credential ファイルへ編集・保存するための仕組みが含まれている。 railsguides.jp config/credentials.yml.encには暗号化された内容が書…

CVE-2024-8372: AngularJS srcsetへの不適切なサニタイズによるコンテンツ・スプーフィング脆弱性

はじめに AngularJS はすでに EOL になってるもので、Angular とは別物ですよ(前身のやつ)。 CVE-2024-8372 詳細はこのページに全て書かれている ja.herodevs.com どこら辺が細工された入力なのか 再現するための手順にあるコードを拝借する。 <img ng-srcset="https://angularjs.org/favicon.ico xyz,https://angular.dev/favicon.ico" /> この xyz …

PHP 5.6 の環境で FuelPHP のテストを動かす

PHP

時代は令和やぞ? FuelPHP がまだ 5.3+ で動くことをサポートしたいらしい。 前準備 git clone git@github.com:fuel/fuel.git cd fuel 個人開発環境に EOL になっている PHP 5.x やら 7.x をインストールしたくないし普通にできない。Dockerを使う。 docker …

次回の柏.rbではマインスイーパーをモブプロしてみます

この話。 Kashiwa.rb #3 オブジェクト指向を理解するためにマインスイーパーをモブプロしてみる - connpass 目的 この柏.rb勉強会のキックオフミーティングをした時に出てきた意見で「プログラミング初学者/Ruby初学者の人に寄り添う勉強会でありたい」とい…

FuelPHPの開発状況

PHP

諸事情があってFuelPHPのことを追いかけている。 最後の stable リリース packagist.org 最後の stable リリースと言えるのは 1.8.2 で変わってなさそう。2019-06-27 リリース。 上記ページにおけるデフォルト表示は 1.9.0 となっているが、fuel/core などは…

vim-jp ラジオ #7 #8 を聞いた: 習慣から偉大な成果が生まれるんだよなって改めて思った話

今週、遅ればせながら vim-jp ラジオの Shougo さん回を聴いた。 audee.jp audee.jp 毎回楽しく聴かせてもらっているけど、今回の回を聴いて改めて思ったことがあったのでそれを書き残しておく。 すごいと思うエンジニアは何かしらを習慣化している コードを…

Ruby 3.3.5 のリリースノートを眺めたメモの続き: HANDLE_REG_TIMEOUT_IN_MATCH_AT とは何だったのか?

昨日の記事の続きです。 kozy4324.hatenablog.jp HANDLE_REG_TIMEOUT_IN_MATCH_AT が GitHub の全文検索でもヒットしなかったけど簡単な理由だったというオチ。 Bug #20653: Memory leak in String#start_with? when regexp times out Ruby 3.3.5 に含まれる…

Ruby 3.3.5: Bug #20650: Memory leak in Regexp capture group when timeout を眺めたメモ

github.com bugs.ruby-lang.org どんなバグ? 正規表現の capture group によって確保されたメモリが、正規表現処理でタイムアウトするとメモリリークするということらしい。 diffを眺める match_at 関数の末尾にあるラベル timeout: の処理が変わって ONIGE…

PHPOffice/PhpSpreadsheet: XXE in PHPSpreadsheet encoding is returned

今日はPHPネタ。この脆弱性について確認したことのメモ。 github.com どういった脆弱性か? PHPSpreadsheetライブラリにおいて細工した xlsx ファイルを処理させることで XXE(XML外部実体攻撃)が可能。 XXE とは Wikipedia の解説がサンプルコードもあって…

マインスイーパーのゲームルール(サービス要件)を書き出してみる

実装の詳細に可能な限り言及しない形で書く。最低限これらを満たせばマインスイーパーと呼べるでしょうというライン。 m 行 n列のマスに x 個の爆弾がランダムに配置される ( m * n > x ) 初期状態では全てのマスが伏せられた状態(爆弾が置かれているかどう…

Rubyであえて手続き型のパラダイムでマインスイーパーを書いてみる

プログラミング初学者向けのモブプロ題材を考えていて、マインスイーパーあたりがちょうどいいんじゃないかと思って試しに書いてみた。 ゴールはオブジェクト指向の考え方も学べるようなものにしたいと考えている とはいえ、いきなり初学者にオブジェクト指…