developit / developit/vhtml

Possible injection because of sanitize cache

オープン
#34 コメント 4 件 リアクション 8 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。