Возможно ли как то изолировать такой код от основного приложения?
То есть что бы при чтении файлов читалась бы только папка этого пользователя.
Что бы пользователь не мог прочитать другие исходники, например код выше.
Что бы при переполнении памяти или бесконечной рекурсии не падало бы все приложение.
Запускайте в отдельном процессе с ограниченными привилегиями. Но все равно - сделать настоящую песочницу весьма сложно.
Другой вопрос - что так как вы хотите - вообще делать не надо.
Если это cms - то пользователь должен управлять контентом а не кодом.
Если пользователю действительно надо управлять кодом - то виртуалки и пользовательские сервера ваш путь. Можете сделать предустановленные докер-файлы например где вся среда уже развернута и просто копируются дополнительные пользовательские файлы или еще что придумать, насколько знаний и фантазии хватит.
Хотя, если вы самостоятельно напишите реальную песочницу для выполнения там отдельных файлов nodejs - то это будет проект заметно круче какой-то там cms.