colorプラグイン (XSS脆弱性あり・置き換え推奨)†
colorプラグインにXSS脆弱性が存在していました。1.4rc3 - 1.4.4 までのユーザーには置き換えを強く推奨します。
概要: official:PukiWiki/Errata
- 公表方針を検討し、内容を整理し、影響範囲をチェックし、修正版とその提供方法を検討し、1.4(古いバージョン)で検証し、advisoryをまとめました。
- org, dev, お試しサイトのcolorプラグインはそれぞれ入れ替え済みです。
- colorプラグインを焼き直し
- cvs:plugin/color.inc.php (1.10-1.15)
- usageの追加
- 固定文字列を defineに退避
- 正規表現の厳格化
- cssではなくfontタグによるカラー表示を選択可能に(XHTML 1.1でfontタグは廃止されたため、XHTML 1.1 の時には無効: 現状は必ず無効になる)
- XSS脆弱性の修正
- 下から5行目辺りの"allowd"はallow"e"dじゃないかなと。…とりあえず報告まで。 -- Ratbeta
- colorプラグインでの#16進数3桁での指定ができなくなってませんか? -- あれっ
- むむ、確認します>両方とも -- henoheno
- ん?16進数3ケタ? それはvalidな書き方なんですか? 6ケタ限定にした人=> -- henoheno
- 少なくとも私には #fff という記述が R=f , G=f, B=f なのか R=ff, G=f, B=0? なのかあるいは(略)判別がつきません (^^; 知識が古いのかしら -- henoheno
- allowd の件、修正しました :) -- henoheno
- ふむふむ、3ケタについて確認中です -- やはり知識が古かったようですね (^^; 失礼しました (^^; -- henoheno
これを define('PLUGIN_COLOR_REGEX', '/^(#[0-9a-f]{6}|[a-z-]+)$/i');
こうする define('PLUGIN_COLOR_REGEX', '/^(#[0-9a-f]{3}|#[0-9a-f]{6}|[a-z-]+)$/i');
- とりあえずこんなんでしょうか(厳格路線は維持の方向で) -- henoheno
- Firefoxなどで見るに、fontタグでも3桁指定は問題ないようですね。これは知識が古いんじゃなくて私が現状を知らなかっただけだな (^^; 勉強になりました・・・ -- henoheno