kresd 1.0.0 - beta の脆弱性を議論する。関連:../log /y.qmail.jp
1. bug
/Marek lib: child-side NS records are not always fetched (bug ?)
/lib/layer/rrcache.c kresd/lib/layer/iteration.c
https://twitter.com/vavrusam/status/690574530260008960?lang=ja
- I have installed knot-2.1.0 for libknot-2.1.0. Making of knot-resolver-master was fine.
2. 課題
Answerあり返答中のAuthority/Additionalは捨てるべきだ。--> #define STRICT_MODE in iterator.c
- これだけでは zone_cutに登録されないだけだ。
rrcache.c中のstash_authorityなどを呼び出さないようにする必要がある。(簡単)
(is_auth) stash_answerの直後のstash_authorityはやめよ。-- ToshinoriMaeno 2016-04-20 00:06:16
他にも毒を入れられる可能性は残っているかもしれない。
-- ToshinoriMaeno 2016-04-13 23:16:48
/zone_cut_check が不十分だ。 co.jpのようなゾーンが存在しないことが分かっている名前に対して NS queryを何度も問い合わせている。(これは無駄)
- 問い合わせなくなることもある。(理由は不明)
rrcache.c中でreferralをstashしているが、これも必要ないし、やってはいけない。(4/21削除)
- ただし、どこかでcutの判定に使われている可能性があるので、調べる必要がある。
-- ToshinoriMaeno 2016-04-21 02:33:26