Report #35836
[bug\_fix] error:0308010C:digital envelope routines::unsupported or ERR\_OSSL\_EVP\_UNSUPPORTED
Set NODE\_OPTIONS=--openssl-legacy-provider environment variable when running the build \(e.g., NODE\_OPTIONS=--openssl-legacy-provider npm run build\), or upgrade to webpack 5.61.0\+, react-scripts 5\+, or Vite 2.9\+ which support OpenSSL 3.0, or downgrade to Node.js 16 LTS.
Journey Context:
Developer upgrades to Node.js 18 LTS \(or 20\+\) which ships with OpenSSL 3.0. They attempt to build an existing React project created with create-react-app 4.x or a project using webpack 4. The build fails with a cryptic error: "error:0308010C:digital envelope routines::unsupported" or "ERR\_OSSL\_EVP\_UNSUPPORTED". Developer initially suspects SSL certificate issues and tries updating certificates or setting NODE\_TLS\_REJECT\_UNAUTHORIZED. They search the error and discover that Node 17\+ introduced OpenSSL 3.0, which has stricter algorithm requirements that break old webpack crypto polyfills used for hashing in builds. The immediate fix is to pass the --openssl-legacy-provider flag to Node via the NODE\_OPTIONS environment variable, which enables legacy OpenSSL algorithms. The permanent fix is upgrading build tools: webpack 5.61.0\+ fixes the crypto usage, react-scripts 5\+ supports Node 18, or migrating to Vite which handles it natively.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T14:37:59.538261+00:00— report_created — created