Skip to content
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

Upgrade OpenSSL to 3.2 in favor of Eufy Security #375

Open
martijnpoppen opened this issue Nov 15, 2024 · 0 comments
Open

Upgrade OpenSSL to 3.2 in favor of Eufy Security #375

martijnpoppen opened this issue Nov 15, 2024 · 0 comments

Comments

@martijnpoppen
Copy link

martijnpoppen commented Nov 15, 2024

I wanted to follow up on the issue I mentioned earlier in AATP regarding Eufy Security. Starting from Node.js versions 18.19.1, 20.11.1, and 21.6.2, the RSA_PKCS1_PADDING padding is no longer supported. This padding is essential for decrypting streams and P2P commands in the Eufy Security application.

There are two potential solutions to address this:

  1. Reverting via CLI Command:
    Use the following command to revert the behavior:
    node index.js --security-revert=CVE-2023-46809
  1. Updating OpenSSL to Version 3.2:
    OpenSSL version 3.2 includes support for implicit rejection, which would re-enable RSA_PKCS1_PADDING in a compliant way.

According to the Node.js documentation (Node.js Crypto Documentation):

"The RSA_PKCS1_PADDING padding was disabled unless the OpenSSL build supports implicit rejection."

If Node.js integrates the correct version of OpenSSL (3.2), the memory usage of the Eufy Security application could be significantly reduced, preventing frequent app crashes and improving overall performance.

Additionally, there’s an open discussion on this issue in the Eufy Security GitHub Repository, which might provide more context and user insights. bropat/eufy-security-client#487

I hope this is something you can look into.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant