-
Notifications
You must be signed in to change notification settings - Fork 30k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EPROTO C0BAF076:error:0A000152 error reported in PM2 log from this version #45378
Comments
That would seem to be a message coming from OpenSSL. Do you know if you're |
@Trott I haven't specifically linked it, I use nvm and I just did an The raspberry pi is running Debian stable and hasn't been updated for a while. openssl is installed |
It's possible that running Node.js with |
I'm having the same problem, also after upgrading from node v16.15.1 to v18.12.1. Here's a small snippet so anyone reproduce the problem:
|
@afbpinheiro thanks for the small reproduction. /cc @nodejs/crypto I confirm that it starts failing with Node.js 17 and |
Is this expected behavior? a scan reports for scsanctions.un.org "There is no support for secure renegotiation." and "This server supports TLS 1.1. Grade capped to B." |
Possibly related workaround to disable the security check: https://stackoverflow.com/a/72245418 |
@arhart, genuinely asking: why should this be expected behavior? |
Because it's unsafe. It essentially allows a man-in-the-middle attacker to hijack HTTPS sessions. The option to enable it is called |
@bnoordhuis I know it's unsafe and I know why it's unsafe, I just don't understand why throwing an error in those situations could be considered the default behavior. Therefore my question. |
What else would you have it do? Quietly do the unsafe thing anyway? |
There are multiple possibilites:
Each option has its own trade-offs and I don't have the knowledge to weight their advantages and disadvantages. In my use case, I use node to connect to third parties, from which I don't have authority to decide how to manage the security of their website. I can't do much more than request them to do it. |
You can opt into the insecure behavior by passing |
@afbpinheiro 1 and 2 would be security vulnerabilities. Even if a warning is seen, it won't be in time to have prevented the unsafe thing. If you are proposing a command line argument or an option, those might be features that could be added. Are they enough better than configuring OpenSSL through the configuration section to justify extra complexity? Maybe this could be documented more clearly, but where? It's an error coming from OpenSSL, and OpenSSL documents this behavior and it's configuration option. |
Thanks, @targos I didn't realize that was plumbed! |
I think this is the desired option: |
See https://www.openssl.org/docs/man3.0/man7/migration_guide.html:
|
few folks from our company got that errors from 18.12.1 LTS too (macos m1) also from linux (1 person). |
I have discovered that it is just one service provider that we use that fails in this manner (and their sandbox url does not fail so it was not picked up in development). I have added the cryto option suggested by @bnoordhuis ( |
hi akc42 |
@veemata like this
|
@veemata I'm hitting the same problem (the bug is inside NPM itself, not Node (I think?)). See this issue: npm/cli#6070 |
Hi Error: write EPROTO 9C5E0000:error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled:c:\ws\deps\openssl\openssl\ssl\statem\extensions.c:922:, Facing this one while running the command |
I'm unable to download anything from npmjs registry (that is running If someone finds a workaround, that would be very much appreciated |
I am getting same error after updating node 12 to 18 kindly provide a solution for same. |
Version
18.12.1
Platform
Linux pas 5.10.63-v7+ #1457 SMP Tue Sep 28 11:25:31 BST 2021 armv7l GNU/Linux
Subsystem
at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16)
What steps will reproduce the bug?
This is a raspberry pi node.js api http server mainly proxied to from nginx http/2 server front ending Chrome browser clients.
There are a few internal processes running on the raspberry pi that are also nodejs based using the http connector directly.
the actual fault printed in the logs is
the process that fails also makes calls to a sqlserver database using the tedious connection to another machine. So I don't know if this an incoming our outgoing connection fail
How often does it reproduce? Is there a required condition?
This is a production system which was upgraded to 18.12.1 last night (from 16.17.0) and has been running all day with the normal 5 or 6 users. The first time it failed was midday today, but then but since about 3:20 this afternoon until now about every 20 minutes.
What is the expected behavior?
no failures
What do you see instead?
The information given above in the logs.
Additional information
No response
The text was updated successfully, but these errors were encountered: