Skip to content

Commit a31dec5

Browse files
Merge pull request from GHSA-gw32-9rmw-qwww
* rename previous test * add new <textarea bind:value> test * escape value in <textarea bind:value> --------- Co-authored-by: Conduitry <[email protected]>
1 parent 3bc791b commit a31dec5

File tree

5 files changed

+10
-1
lines changed

5 files changed

+10
-1
lines changed

src/compiler/compile/render_ssr/handlers/Element.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ export default function (node: Element, renderer: Renderer, options: RenderOptio
149149
// value = name === 'textContent' ? x`@escape($$value)` : x`$$value`;
150150
} else if (binding.name === 'value' && node.name === 'textarea') {
151151
const snippet = expression.node;
152-
node_contents = x`${snippet} || ""`;
152+
node_contents = x`@escape(${snippet} || "")`;
153153
} else if (binding.name === 'value' && node.name === 'select') {
154154
// NOTE: do not add "value" attribute on <select />
155155
} else {
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<script>
2+
let value = `test'"></textarea><script>alert('BIM');</` + `script>`;
3+
</script>
4+
5+
<textarea bind:value />
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export default {
2+
html: '<textarea></textarea>',
3+
ssrHtml: '<textarea>test\'"&gt;&lt;/textarea&gt;&lt;script&gt;alert(\'BIM\');&lt;/script&gt;</textarea>'
4+
};

0 commit comments

Comments
 (0)