Babel is a compiler for writingJavaScript. In `@babel/traverse` prior to versions 7.23.2 and 8.0.0-alpha.4 and all versions of `babel-traverse`, using Babel to compile code that was specifically crafted by an attacker can lead to arbitrary code execution during compilation, when using plugins that rely on the `path.evaluate()`or `path.evaluateTruthy()` internal Babel methods. Known affected plugins are `@babel/plugin-transform-runtime`; `@babel/preset-env` when using its `useBuiltIns` option; and any…
Nicolò Ribaudo — один из ключевых разработчиков Babel, приглашённый эксперт TC39 и при этом ещё и студент-математик. Nicolò выступит завтра на HolyJS 2019 Moscow. И в преддверии этого участники программного комитета HolyJS Евгений Кот (bunopus) и Дмитрий Махнёв (DmitryMakhnev) поговорили с ним о разработке Babel, задачах приглашённого эксперта, учёбе, предстоящем докладе на HolyJS… и о том, как при всём при этом можно умудряться высыпаться. Читать дальше →
Если вы JS-разработчик, то браузер для вас — дом родной, но можете ли вы описать пошагово все действия браузера для отрисовки вашей прекрасной страницы? И вы наверняка уже слышали про WebAssembly, но знаете ли, что «внутри» у этой технологии? Углубиться в эти и многие другие JS-темы помогут доклады. В ноябре прошла HolyJS 2019 Moscow, а теперь её видеозаписи открыты для всех, и мы традиционно публикуем на Хабре подборку — в общем, есть чем занять выходные на самоизоляции. Читать дальше →
GraphQL Playground is a GraphQL IDE for development of graphQL focused applications. All versions of graphql-playground-react older than graphql-playground-react@1.7.28 are vulnerable to compromised HTTP schema introspection responses or schema prop values with malicious GraphQL type names, exposing a dynamic XSS attack surface that can allow code injection on operation autocomplete. In order for the attack to take place, the user must load a malicious schema in graphql-playground. There are several ways…