2024-01-01から1年間の記事一覧

Kashiwa.rb #6 「2024年の出来事をネタにオープンスペーステクノロジー(OST)」やってきた

ちゃんとブログ書くところまでやる。 kashiwarb.connpass.com 12月師走ということで、今回の柏.rbは2024年をふりかえりつつ2025年に向けた話も含めてワイワイしたいなということでオープンスペーステクノロジーを企画してみました。 発表1: Ruby界隈を中心に…

近況報告

約3週間ぶりのブログ記事投稿になった。嘘だ、そんなに時間が経っているはずはない...というわけでここ最近あったことをダンプしておく。 駐車場で当て逃げされた スポーツクラブの駐車場に停車あいてたら当てられて、ドライバーと目が合ったのに逃げてって…

Kashiwa.rb #5 「もくもく会 & LT会」やってきた

ブログを書くまでが勉強会です。 kashiwarb.connpass.com もくもく会 今日の柏.rbではruby-lsp関連をもくもく作業しよう— Koji NAKAMURA (@kozy4324) 2024年11月18日 最近 Ruby LSP の Add-ons 関連で遊び始めたのだけど、実装の更新にドキュメントが全然追…

CVE-2023-22794: SQL Injection Vulnerability via ActiveRecord comments

Rails の過去の脆弱性から勉強するシリーズ #5 github.com 脆弱性の概要 ActiveRecord のクエリメソッド #annotate #optimizer_hints および QueryLogs インターフェースにおいて SQL インジェクション脆弱性。SQL のコメントに対するサニタイズが不十分だっ…

近況報告、またはここ2週間のふりかえり

前回ブログ記事投稿からはや2週間以上経過していた。時が経つのがはやい。 仕事でもプライベートでも書きたいコードに対して時間が足りなさすぎる— Koji NAKAMURA (@kozy4324) 2024年11月12日 時間が足りないせいにしているが、作業スピードが遅いだけでは?…

Kaigi on Rails 2024 登壇ふりかえり

Kaigi on Rails 2024 Day2 10:40 〜 10:55 「ActiveRecord SQLインジェクションクイズ (Rails 7.1.3.4)」というタイトルで登壇させてもらいました。大きな技術カンファレンスでの登壇は初だったのでふりかえり記事を書き残しておこうと思います。 参加したセ…

Kaigi on Rails 2024 に参加した

2024.10.25 (Fri.) - 26 (Sat.) の2日間、有明セントラルタワーホール & カンファレンスで開催された Kaigi on Rails 2024 に参加してきました。 kaigionrails.org Kaigi on Rails は初参加だったし、コロナ禍&家庭都合で大規模カンファレンス自体が数年ぶ…

Kashiwa.rb #4 「生活発表会」をやってきた

ブログを書くまでが勉強会。 前半: もくもくタイム 今回は少し進行を変えて、前半もくもくタイムを設けてみた。 自分は触る触ると言いながら放置されていた Raspberry Pi Pico W を持ち込んで PicoRuby の L チカに挑戦していた。 PicoRubyをもくもくしてい…

柏.rb第3回「マインスイーパーをモブプロしてみる」をやってきた

ブログ書くまでが勉強会って誰かが言っていたので書きます。 kozy4324.hatenablog.jp kashiwarb.connpass.com LTその1 - 福岡Rubyist会議04 出張報告 ヨヨイさんの出張報告LTからスタート。 speakerdeck.com 勉強会、特に地方勉強会行ってきたよ!的な報告い…

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であえて手続き型のパラダイムでマインスイーパーを書いてみる

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

Ginza.rb 第83回 に初参加してきました

Ginza.rb は初参加でした。 ginzarb.connpass.com Rails 7.2 リリースのメジャーフィーチャーは前回やっており、今回はマイナーフィーチャーについて参加者全員で眺めながら会話をして理解を深めていく会でした。 はじまるよー #ginzarb pic.twitter.com/SfP…