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

Timing Attack Vulnerabilities in Multiple Implementations #183

Closed
paragonie-scott opened this issue Jan 25, 2016 · 10 comments
Closed

Timing Attack Vulnerabilities in Multiple Implementations #183

paragonie-scott opened this issue Jan 25, 2016 · 10 comments

Comments

@paragonie-scott
Copy link

http://www.openwall.com/lists/oss-security/2016/01/24/10

@LookingSharp
Copy link

Are you saying the timing vulnerability exists in the swift version? Looking at the code, I see isEqualInConsistentTime is used to compare data. Does this vulnerability exist in this version?

@rnapier
Copy link
Member

rnapier commented Jan 25, 2016

The ObjC and Swift implementations of RNCryptor (which are the primary implementations) do use constant-time hash comparisons. Have you found otherwise? The most common server side implementation is PHP, which also does constant-time hash comparisons (currently, though this took longer to get fixed then I liked).

I didn't write and don't directly support all the implementations, but please feel free to open issues on any implementations with this or any other error. RNCryptor defines a format. It has several implementations that various developers maintain.

If you believe there is any defect in the Swift or ObjC implementations, I am happy to look at that here, but this repository doesn't cover all the independent implementations of the format. GitHub doesn't have any way to manage organization-level issues, so a separate issue is required on each repository.

Thanks.

@paragonie-scott
Copy link
Author

Are you saying the timing vulnerability exists in the swift version?

No, I thought this was the main repo for the entire project.

GitHub doesn't have any way to manage organization-level issues, so a separate issue is required on each repository.

I'm sure the people who maintain the language implementations are responsible folks who keep up on security matters and won't need me to tell them individually.

@rnapier
Copy link
Member

rnapier commented Jan 25, 2016

That's fine. But if you found specific implementations that had trouble, please let me know. I'm happy to open the issues myself. I'll go ahead and audit them all, but if you've already done some of it, that'll save me some time.

Thanks for the notice.

@paragonie-scott
Copy link
Author

@rnapier
Copy link
Member

rnapier commented Jan 25, 2016

Yes. I believe it is discarding it.

@paragonie-scott
Copy link
Author

I made a note in RNCryptor/rncryptor-hs#2

@paragonie-scott
Copy link
Author

OK, I think I found all the variable-time MAC validation flaws in the various implementations. I think there might be questionable choices w.r.t. the CSPRNG implementations on some of them, but until I research that in depth I don't feel comfortable raising the alarm.

Have fun.

@rnapier
Copy link
Member

rnapier commented Jan 25, 2016

Thank you. Always glad to have extra eyes on these things.

On Jan 24, 2016, at 10:41 PM, Scott [email protected] wrote:

OK, I think I found all the variable-time MAC validation flaws in the various implementations. I think there might be questionable choices w.r.t. the CSPRNG implementations on some of them, but until I research that in depth I don't feel comfortable raising the alarm.

Have fun.


Reply to this email directly or view it on GitHub.

@adinapoli
Copy link

@paragonie-scott @rnapier hey folks, made a note about HMAC validation here (happy to accept pointers):

RNCryptor/rncryptor-hs#2

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

No branches or pull requests

4 participants