node-red / node-red/node-red-nodes
Node-red does not run on a FIPS crypto policy enabled OS
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.1k
- Forks
- 612
- Avg merge
- 13h 57m
- Merged PRs (30d)
- 3
Description
node-red: v3.1.5
node: v18.18.2
OS: Rocky Linux 9.3.
npm version 9.8.1
To reproduce this issue:
Enable FIPS crypto policy, then start node-red.
Fails with the following error:
- [warn] Error loading flows: Error: error:0308010C:digital envelope routines::unsupported
- [red] Uncaught Exception:
- [error] Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:69:19)
at Object.createHash (node:crypto:133:10)
at editor (/usr/local/lib/node_modules/node-red/node_modules/@node-red/editor-api/lib/editor/ui.js:102:34)
at Layer.handle [as handle_request] (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/layer.js:95:5)
at next (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/route.js:144:13)
at ensureSlash (/usr/local/lib/node_modules/node-red/node_modules/@node-red/editor-api/lib/editor/ui.js:50:13)
at Layer.handle [as handle_request] (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/layer.js:95:5)
at next (/usr/local/lib/node_modules/node-red/node_modules/express/lib/router/route.js:144:13)
at /usr/local/lib/node_modules/node-red/node_modules/@node-red/editor-api/lib/editor/index.js:39:13
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
This failure is occurring because node-red is using the MD5 hash algorithm which is outdated and non-FIPS compliant.
If I check out the code and fix the issues with the md5 hash, node-red will start up fine, but then I see errors in the node-red-nodes email node with the similar problems.
I have a PR that I would like to submit to fix this issue for both node-red and node-red-nodes email node.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The startup failure points to @node-red/editor-api/lib/editor/ui.js at line 102; reproduce it by starting Node-RED on Rocky Linux 9.3 with FIPS enabled. Trace the similar failure in the node-red-nodes email node, then verify that both Node-RED startup and email-node operation succeed without non-FIPS hash errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- backend, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100