{"id":"UBUNTU-CVE-2025-27789","details":"Babel is a compiler for writing next generation JavaScript. When using versions of Babel prior to 7.26.10 and 8.0.0-alpha.17 to compile regular expression named capturing groups, Babel will generate a polyfill for the `.replace` method that has quadratic complexity on some specific replacement pattern strings (i.e. the second argument passed to `.replace`). Generated code is vulnerable if all the following conditions are true: Using Babel to compile regular expression named capturing groups, using the `.replace` method on a regular expression that contains named capturing groups, and the code using untrusted strings as the second argument of `.replace`. This problem has been fixed in `@babel/helpers` and `@babel/runtime` 7.26.10 and 8.0.0-alpha.17. It's likely that individual users do not directly depend on `@babel/helpers`, and instead depend on `@babel/core` (which itself depends on `@babel/helpers`). Upgrading to `@babel/core` 7.26.10 is not required, but it guarantees use of a new enough `@babel/helpers` version. Note that just updating Babel dependencies is not enough; one will also need to re-compile the code. No known workarounds are available.","modified":"2026-05-20T16:21:03.685901427Z","published":"2025-03-11T20:15:00Z","upstream":["CVE-2025-27789"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2025-27789"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2025-27789"},{"type":"REPORT","url":"https://github.com/babel/babel/pull/17173"},{"type":"REPORT","url":"https://github.com/babel/babel/security/advisories/GHSA-968p-4wvh-cqc8"}],"affected":[{"package":{"name":"node-babel","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/node-babel?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["6.26.0+dfsg-3build5","6.26.0+dfsg-3build6"],"ecosystem_specific":{"binaries":[{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-cli"},{"binary_name":"node-babel-code-frame","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-core","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-generator","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-helper-bindify-decorators","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-helper-builder-binary-assignment-operator-visitor","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-helper-builder-react-jsx"},{"binary_name":"node-babel-helper-call-delegate","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-helper-define-map"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-helper-explode-assignable-expression"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-helper-explode-class"},{"binary_name":"node-babel-helper-function-name","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-helper-get-function-arity","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-helper-hoist-variables"},{"binary_name":"node-babel-helper-optimise-call-expression","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-helper-regex"},{"binary_name":"node-babel-helper-remap-async-to-generator","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-helper-replace-supers","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-helpers","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-messages","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-external-helpers","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-syntax-async-functions"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-syntax-async-generators"},{"binary_name":"node-babel-plugin-syntax-class-constructor-call","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-syntax-class-properties","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-syntax-decorators","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-syntax-do-expressions"},{"binary_name":"node-babel-plugin-syntax-dynamic-import","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-syntax-exponentiation-operator"},{"binary_name":"node-babel-plugin-syntax-export-extensions","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-syntax-flow","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-syntax-function-bind","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-syntax-jsx","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-syntax-object-rest-spread","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-syntax-trailing-function-commas","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-async-generator-functions","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-async-to-generator","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-class-constructor-call","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-class-properties","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-transform-decorators"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-transform-do-expressions"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-transform-es3-member-expression-literals"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-transform-es3-property-literals"},{"binary_name":"node-babel-plugin-transform-exponentiation-operator","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-export-extensions","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-flow-strip-types","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-function-bind","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-jscript","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-object-rest-spread","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-proto-to-assign","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-react-display-name","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-transform-react-jsx"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-transform-react-jsx-self"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-plugin-transform-react-jsx-source"},{"binary_name":"node-babel-plugin-transform-regenerator","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-runtime","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-plugin-transform-strict-mode","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-polyfill","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-preset-es2015"},{"binary_name":"node-babel-preset-es2016","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-preset-es2017"},{"binary_name":"node-babel-preset-flow","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-preset-latest","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-preset-react","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-preset-stage-0","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-preset-stage-1","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-preset-stage-2","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-preset-stage-3"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-register"},{"binary_name":"node-babel-runtime","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-template","binary_version":"6.26.0+dfsg-3build6"},{"binary_name":"node-babel-traverse","binary_version":"6.26.0+dfsg-3build6"},{"binary_version":"6.26.0+dfsg-3build6","binary_name":"node-babel-types"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-27789.json"}},{"package":{"name":"node-babel","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/node-babel?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["6.26.0+dfsg-3build6","6.26.0+repack-2","6.26.0+repack-3"],"ecosystem_specific":{"binaries":[{"binary_name":"node-babel-cli","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-code-frame"},{"binary_name":"node-babel-core","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-generator"},{"binary_name":"node-babel-helper-bindify-decorators","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-helper-builder-binary-assignment-operator-visitor","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-helper-builder-react-jsx","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-helper-call-delegate","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-helper-define-map","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-helper-explode-assignable-expression"},{"binary_name":"node-babel-helper-explode-class","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-helper-function-name","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-helper-get-function-arity","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-helper-hoist-variables","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-helper-optimise-call-expression"},{"binary_name":"node-babel-helper-regex","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-helper-remap-async-to-generator","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-helper-replace-supers","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-helpers","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-messages","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-external-helpers","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-syntax-async-functions","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-syntax-async-generators","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-syntax-class-constructor-call","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-syntax-class-properties"},{"binary_name":"node-babel-plugin-syntax-decorators","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-syntax-do-expressions"},{"binary_name":"node-babel-plugin-syntax-dynamic-import","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-syntax-exponentiation-operator","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-syntax-export-extensions","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-syntax-flow"},{"binary_name":"node-babel-plugin-syntax-function-bind","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-syntax-jsx","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-syntax-object-rest-spread"},{"binary_name":"node-babel-plugin-syntax-trailing-function-commas","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-transform-async-generator-functions"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-transform-async-to-generator"},{"binary_name":"node-babel-plugin-transform-class-constructor-call","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-transform-class-properties"},{"binary_name":"node-babel-plugin-transform-decorators","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-transform-do-expressions","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-transform-es3-member-expression-literals","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-transform-es3-property-literals","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-transform-exponentiation-operator","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-transform-export-extensions","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-transform-flow-strip-types","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-transform-function-bind","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-transform-jscript"},{"binary_name":"node-babel-plugin-transform-object-rest-spread","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-transform-proto-to-assign","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-transform-react-display-name","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-transform-react-jsx"},{"binary_name":"node-babel-plugin-transform-react-jsx-self","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-plugin-transform-react-jsx-source","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-transform-regenerator"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-transform-runtime"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-plugin-transform-strict-mode"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-polyfill"},{"binary_name":"node-babel-preset-es2015","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-preset-es2016","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-preset-es2017","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-preset-flow","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-preset-latest","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-preset-react","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-preset-stage-0","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-preset-stage-1","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-preset-stage-2","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-preset-stage-3","binary_version":"6.26.0+repack-3"},{"binary_name":"node-babel-register","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-runtime"},{"binary_name":"node-babel-template","binary_version":"6.26.0+repack-3"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-traverse"},{"binary_version":"6.26.0+repack-3","binary_name":"node-babel-types"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-27789.json"}},{"package":{"name":"node-babel7","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/node-babel7?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.12.12+~cs150.141.84-6","7.12.12+~cs150.141.84-7","7.12.12+~cs150.141.84-8"],"ecosystem_specific":{"binaries":[{"binary_version":"7.12.12+~cs150.141.84-8","binary_name":"node-babel7"},{"binary_version":"7.12.12+~cs150.141.84-8","binary_name":"node-babel7-runtime"},{"binary_version":"7.12.12+~cs150.141.84-8","binary_name":"node-babel7-standalone"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-27789.json"}},{"package":{"name":"node-babel7","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/node-babel7?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.20.15+ds1+~cs214.269.168-4","7.20.15+ds1+~cs214.269.168-5","7.20.15+ds1+~cs214.269.168-6","7.20.15+ds1+~cs214.269.168-6build1"],"ecosystem_specific":{"binaries":[{"binary_version":"7.20.15+ds1+~cs214.269.168-6build1","binary_name":"node-babel7"},{"binary_version":"7.20.15+ds1+~cs214.269.168-6build1","binary_name":"node-babel7-debug"},{"binary_name":"node-babel7-runtime","binary_version":"7.20.15+ds1+~cs214.269.168-6build1"},{"binary_name":"node-babel7-standalone","binary_version":"7.20.15+ds1+~cs214.269.168-6build1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-27789.json"}},{"package":{"name":"node-babel7","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/node-babel7?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.20.15+ds1+~cs214.269.168-8"],"ecosystem_specific":{"binaries":[{"binary_version":"7.20.15+ds1+~cs214.269.168-8","binary_name":"node-babel7"},{"binary_name":"node-babel7-debug","binary_version":"7.20.15+ds1+~cs214.269.168-8"},{"binary_version":"7.20.15+ds1+~cs214.269.168-8","binary_name":"node-babel7-runtime"},{"binary_name":"node-babel7-standalone","binary_version":"7.20.15+ds1+~cs214.269.168-8"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-27789.json"}},{"package":{"name":"node-babel7","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/node-babel7?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["7.20.15+ds1+~cs214.269.168-8","7.20.15+ds1+~cs214.269.168-9","7.20.15+ds1+~cs214.269.168-11build1","7.20.15+ds1+~cs214.269.168-14","7.20.15+ds1+~cs214.269.168-16"],"ecosystem_specific":{"binaries":[{"binary_version":"7.20.15+ds1+~cs214.269.168-16","binary_name":"node-babel7"},{"binary_name":"node-babel7-debug","binary_version":"7.20.15+ds1+~cs214.269.168-16"},{"binary_version":"7.20.15+ds1+~cs214.269.168-16","binary_name":"node-babel7-runtime"},{"binary_name":"node-babel7-standalone","binary_version":"7.20.15+ds1+~cs214.269.168-16"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-27789.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"type":"Ubuntu","score":"medium"}]}