Possible injection because of sanitize cache
オープン
- 主要言語
- JavaScript
- スター
- 814
- フォーク
- 37
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Basically it's possible to inject dirty html:
```js
const striked = 'test';
console.log(
{striked}
);
console.log(
test
);
console.log(
{striked}
);
```
This is the output:
```html
<strike>test</strike>
test
test
```
Expected output:
```html
<strike>test</strike>
test
<strike>test</strike>
```
After rendering `
test
`, it caches `test` and doesn't sanitize it anymore. It can be seen live [here](https://codepen.io/remziatay/pen/YzroqLm?editors=1010) as well. Just because something was rendered before, it shouldn't mean that it's sanitized.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
issue 内の JavaScript の再現から始め、3 回のレンダリングをリンク先の CodePen と比較します。以前にレンダリングされた コンテンツの再利用を引き起こしている sanitizer キャッシュの挙動を追跡します。3 回目のレンダリングが 1 回目と同様に文字列をエスケープしつつ、直接の HTML レンダリングを維持すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- frontend, security
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100