どさにっき IoT

by やまや
7月下旬

2016年7月22日(金)

親知らず抜いた

_ ここしばらく顎が痛くて飯を食うにも困る。しかたないんで医者に行こうにも、そもそも顎を診てくれるのってどこじゃい、歯医者でいいんかいな、と調べるところからスタート(合ってたらしい)。

_ とりあえず口の中覗いてレントゲン撮ったりして、「親知らずが虫歯でダメになって奥で炎症起こしてるのかも。顎の痛みの原因がそれとはまだわからんけど、この状態で放置するのよくないから抜いた方がいいね」ということに。てっきり顎関節症と言われるだろうと思いこんでたもんだから仰天して、あ、え、はあ、ちょっと待って心の準備が。

_ 別の日にしてもいいよ、とも言われたけど、延ばしたところでどうにもならんのでさっさとやってもらうことに。…最近の麻酔ってすごいのな。注射じゃないからぜんぜん痛くない上、ほんとに局所にしか効かずすぐに効く。麻酔の効果が出るまでしばらく待つとかそういうのがなく、麻酔終わったよー、うがいしてー、じゃあ抜くよー、はい抜けたー、で終わり。虫歯でボロボロになってるからうまく抜けるかどうかわからんとか言ってたくせに、痛みもまったく感じないままあっという間に終わってしまって拍子抜けなんてもんじゃない。

_ 診察してレントゲン撮って説明受けて抜歯してまた説明受けて、でぜんぶ合わせて30分しかかかってない。つーか、歯を抜くよりレントゲン撮る方が時間かかってたんじゃないか。だいぶ前に親知らずじゃない歯を抜いたときや、まわりで親知らずを抜いた人の話を思い出しても、こんなにあっさり終わるとは予想外にもほどがある。ほんとに抜けたのか疑わしいぐらいだけど、舌で口の中を探ってみるとたしかにこれまであった歯がなくなってるんだよな。

_ で、親知らずは抜けたけど、元々の懸念だった顎が痛いのはあいかわらず。炎症の原因である親知らずを抜いた瞬間に炎症が治まるわけがないし、そもそもこれが原因だったかどうかすらわからんのだからしかたないか。

_ ちなみにほかにも状態がよくない歯があるんで治療せよ、とのことで。もう1本親知らず抜くことになりそう。


2016年7月19日(火)

httpoxy

_ おひさしぶりです。生きてます。

_ 外部から HTTP_PROXY 環境変数を注入される httpoxyという穴。なんで今ごろ話題になってんの。すいません、黙ってましたが前から知ってました。多くの実装で対策済みなことも。既知の問題でも改めてキャッチーな名前をつければ注目を集めることができるということですかね。

_ 環境変数名は大文字を使う慣例だけど、プロクシに関しては http_proxy のように小文字を使うことが多いのはなぜなんだろうという疑問。そしてもうひとつ、bash の shellshock は外部から不正な環境変数を注入できるという脆弱性だったけど、ほかにそういうのがないだろうかという興味。この2点が結びつけば CGI に HTTP_PROXY を注入する攻撃を思いつくのは難しくない。

_ が、いくつか調べてみたら cURL、perl の LWP、ruby の Net::HTTP といずれも対策済みなのを確認。ああ、こりゃ既知の問題でちゃんと対策してるのが当たり前、よほど間抜けな実装でもなければこの穴を踏むことないわ、とそれ以上の調査はしなかったんだよね。なんと python がその間抜けな実装だったというのを今日初めて知って、あのときあと5分調査を続けてれば発見してたんだろうなぁ、とちょっと後悔してる。

_ ただし、途中で調査をやめたとはいえ、間抜けな実装が見つからなかったというわけではない。ちゃんと見つけてた。今回の脆弱性が発表された後も、今のところ修正される動きは見えない。CGI で使われるケースはまず考えられないとはいえ、とっとと直せよ > libfetch

_ なお、cURL は上で対策済みと書いたけど、実は環境によっては脆弱なので注意。どういうことかというと、こういうこと。

Windows では大文字の環境変数を設定しても、小文字で参照できてしまう。ので、HTTP_PROXY は無視して http_proxy だけを見る、というのは Windows 環境で動作することを想定している場合は対策として十分ではない。curl はその不十分な対策しかしていないので、UNIX/Linux では影響ないが、Windows で使う場合には問題あり。perl や ruby は大文字小文字ではなく、CGI に固有の環境変数(REQUEST_METHOD)が存在するかどうかで判定していて、この問題はない。

_ python の修正go の修正。どっちの言語も詳しくないんだけど、どちらも REQUEST_METHOD が存在していれば HTTP_PROXY を無視する、という実装になってるように読めるんだけど合ってるかな? 今回の脆弱性に関してだけならば Windows 環境含めてそれで問題ないけれど、別の問題が発生しそうな。つまり、外部からやってきた不正な HTTP_PROXY だけでなく、元から使われていた正当な http_proxy も同様に無視されてしまい、プロクシを通さないと HTTP アクセスできない環境では CGI が正常に動作しなくなってしまう。LWP や ruby Net::HTTP では CGI_HTTP_PROXY という代替の環境変数に値をセットしておくことでそのような問題を回避できるようになっているが、python や go の修正はそのような配慮がない。python はまだ議論中のようだけど、 go はこのまま正式にリリースされちゃったね…


2016年5月4日(水) みどりの日

バカと煙は高いところにのぼりたがる

_ バカじゃないと見られない景色を見に行く。

_ 5/1、初めての雪上テント泊。

翌 5/2、出発。

ガンガン登るで。

奥穂をバックに。モデルはたまたま居合わせた知らない人。休憩中にふざけて撮った写真なので傾斜はゆるやかなわりにポーズはオーバー。

こちらは前穂。

ずいぶん登ってきたな。

ふと右手の東稜(ゴジラの背)を見ると頭のイカれた人たちが難ルートに挑んでた。

もうひといき。

北穂のてっぺん。

槍ヶ岳から北穂まで続く大キレット。さすがにこのコースを歩く人の姿は見かけず(目の届く範囲では)。

下山中の写真はなし。下りの方が神経を使うのでそんなことしてるヒマはなく、神経を使わなくていいようなところは猛スピードでシリセード(足を使わず尻で滑り降りること)してたので。
ごほうび。

テントでもう1泊してから、5/3 に下山。休日午後はただでさえ渋滞する R158 が事故のため大渋滞で、自分の車に戻れたのはもう日の暮れかかるころ。疲れもあったので、無理して帰らず、もう1日車中泊してから今朝帰宅。


7月下旬
やまや