著作一覧 |
作って公開したソフトウェアは自由だから、誰がどう使おうとどうでも良いのだが、それでも何に使われているのか興味がないと言えば嘘になる。特にRJBは想像以上に使われているようなので不思議だった。
それが、どうにもバグがあるらしくレポートをもらったのだが、一体なんのことだ? と首を傾げざるを得ない内容だ。というか、ploitという接尾辞はあまりにもこちらの想定外なものだし。
で、しばらく別件もあって放置していたら、ワークアラウンドなchangesetが出ていた。
でそれなりに有名なツールらしくて、へー、そういうところで活躍しているのか、と驚いた。(というか、RJBということは、Rubyのアプリケーションってことだな)
(それはそれとして、さてどういうバグなんだろうか。おれが表面的には無罪(無知だとしても)の可能性としては、JVMがコンパイルしたコードをヒープに確保するから、JVMをロードするプログラムはすべからくヒープ実行可能とすべきとか、なんだけどさすがにそんなことはないだろうから、スタックかヒープの境界を越えた書き込みをするバグがあるのだろうなぁ。と、とてもまずいので、allocaに頼っているところから順に潰していくとかなんだろうけど)
追記)いや、案外、おれが考えていることで当たりなのかも知れないぞ、とも思う。もしそうならば、JVMをホストしているのだから、SIGSEGVをトラップしてmprotectして返してやるのがこちらの使命なんじゃなかろうか? (他のプラットフォームで起きていないことや、paxctlで修正できるってところが怪し過ぎる)
paxカーネルって、そういうことだよね? 教えてえらい人。
追記:どうもそのようだ。
ジェズイットを見習え |