Report #85952
[bug\_fix] error:0308010C:digital envelope routines::unsupported
Set NODE\_OPTIONS=--openssl-legacy-provider \(e.g., export NODE\_OPTIONS=--openssl-legacy-provider && npm start\) or upgrade webpack to v5.61.0\+ and webpack-cli to v4.10.0\+ which properly support OpenSSL 3.0. Root cause: Node.js 17\+ ships OpenSSL 3.0 which disables legacy algorithms by default; older webpack 4.x uses crypto.createHash in ways that trigger this error.
Journey Context:
You just upgraded your local Node.js to version 18 \(LTS\) to get new features. You pull your company's legacy React project using webpack 4 and run npm start. Instead of the dev server, you get a cryptic OpenSSL error: 'error:0308010C:digital envelope routines::unsupported'. You search and find GitHub issues suggesting to downgrade to Node 16. You consider using nvm but that's a workaround. Digging into the Node.js 17 changelog reveals they upgraded to OpenSSL 3.0, which disables MD4 and other legacy algorithms by default. Webpack 4's crypto usage triggers this. The flag --openssl-legacy-provider re-enables the legacy OpenSSL provider in Node.js. Alternatively, upgrading to webpack 5.61.0\+ resolves it because they changed the crypto usage to be compatible with OpenSSL 3.0's stricter defaults.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T02:51:26.436521+00:00— report_created — created