No, it's not fixed. Program Files (x86) looks even like the same hole for 32-bit Windows. Fixing compilation doesn't mean fixing a CVE. Anyway, that's for the default fallback only.
Your scenario is different, because you ship OpenSSL with a portable application, which is known as an app-local installation. That's why you are not allowed to use the default paths of system-wide OpenSSL. You have been warned about that in ticket:23396#comment:14, but still can't realize what it means, it seems :(
If you read the wiki above, you would know that you should use a "rule of thumb" and set --prefix/--openssldir properly. But assuming that the Tor Browser's directory is still user-writable in most installations :(, what paths should be used as safe? C:\Windows (or even %WINDIR%, if supported?) or some path in it? What is the consensus here?
Trac: Resolution: fixed toN/A Status: closed to reopened
No, it's not fixed. Program Files (x86) looks even like the same hole for 32-bit Windows. Fixing compilation doesn't mean fixing a CVE. Anyway, that's for the default fallback only.
Your scenario is different, because you ship OpenSSL with a portable application, which is known as an app-local installation. That's why you are not allowed to use the default paths of system-wide OpenSSL. You have been warned about that in ticket:23396#comment:14, but still can't realize what it means, it seems :(
Not sure what you mean. This is what we get for 64bit Windows:
What's wrong with those paths? They should not be user-writable. I mean that's actually part of the OpenSSL fix for that CVE. If that's wrong it seems to me a bug against OpenSSL should get filed.
If you read the wiki above, you would know that you should use a "rule of thumb" and set --prefix/--openssldir properly. But assuming that the Tor Browser's directory is still user-writable in most installations :(, what paths should be used as safe? C:\Windows (or even %WINDIR%, if supported?) or some path in it? What is the consensus here?
Yes, the Tor Browser directory user-writable is not the issue here, though. It's that OPENSSLDIR/ENGINEDIR were user-writable. Are you claiming C:\Program Files and C:\Program Files (x86) are user-writable? If not, then why is the issue not fixed?
I mean I guess we could think about fixing this the way the curl folks did it: https://hackerone.com/reports/608577 but arguable this should happen in OpenSSL itself if needed.
What's wrong with those paths?
They are hard-coded. That's a main bug and vulnerability, in general.
Also they are not allowed for your app-local OpenSSL.
They should not be user-writable. I mean that's actually part of the OpenSSL fix for that CVE. If that's wrong it seems to me a bug against OpenSSL should get filed.
Yes.
Are you claiming C:\Program Files and C:\Program Files (x86) are user-writable?
C:\Program Files (x86) doesn't exist in 32-bit Windows.
What's wrong with those paths?
They are hard-coded. That's a main bug and vulnerability, in general.
Also they are not allowed for your app-local OpenSSL.
Where is the vulnerability here and why does it matter whether those paths are allowed for the app- local OpenSSL?
They should not be user-writable. I mean that's actually part of the OpenSSL fix for that CVE. If that's wrong it seems to me a bug against OpenSSL should get filed.
Yes.
Are you claiming C:\Program Files and C:\Program Files (x86) are user-writable?
C:\Program Files (x86) doesn't exist in 32-bit Windows.
Doh, looks like you see Windows for the first time :(
What do you say when you see D:\Program Files?
Also why do you want conflicts between app-local and system-wide OpenSSL?
C:\Program Files (x86) is a WOW64 path.
Doh, looks like you see Windows for the first time :(
Actually, I do not, believe me.
What do you say when you see D:\Program Files?
I was not really talking about that. I was curious why hardcoding any path, like C:\Program Files on a Windows 64bit system, is a vulnerability and what would it be in that case? That's how I read your comment at least.
Also why do you want conflicts between app-local and system-wide OpenSSL?
Actually, what I want is to resolve this bug. So far, I assumed the path the OpenSSL project chose would be a good one which is why we followed it. But we might have been wrong here.
Doh, looks like you see Windows for the first time :(
Actually, I do not, believe me.
"Trust Me, I'm an Engineer" :) I know you do not, I say how it looks like. And your further questions just increase that feeling.
What do you say when you see D:\Program Files?
I was not really talking about that.
About what? D:\Program Files instead of C:\Program Files on a user's machine, and the hole is still there.
I was curious why hardcoding any path, like C:\Program Files on a Windows 64bit system, is a vulnerability and what would it be in that case? That's how I read your comment at least.
Hardcoding paths is a bad security practice (and not only security). Is this new for you?
Relocatable toolchain is still a miracle in a Linux world, right? On Windows, developers use environmental variables, e.g. https://www.quora.com/What-is-the-difference-between-windir-and-systemroot
Doh, looks like you see Windows for the first time :(
Actually, I do not, believe me.
"Trust Me, I'm an Engineer" :) I know you do not, I say how it looks like. And your further questions just increase that feeling.
There is no need to drag this down onto a personal level and/or starting ad hominem arguments. I told you that on different occasions in different tickets. Please stop.
What do you say when you see D:\Program Files?
I was not really talking about that.
About what? D:\Program Files instead of C:\Program Files on a user's machine, and the hole is still there.
I was curious why hardcoding any path, like C:\Program Files on a Windows 64bit system, is a vulnerability and what would it be in that case? That's how I read your comment at least.
Hardcoding paths is a bad security practice (and not only security). Is this new for you?
So, how are we supposed to fix this bug without introducing new vulnerabilities in your opinion? Hardcoding any path (like suggested with C:\Windows or a path below it in comment:6) like e.g. the curl devs did does not do the trick according to your line of reasoning.
There is no need to drag this down onto a personal level and/or starting ad hominem arguments. I told you that on different occasions in different tickets. Please stop.
Everything is personal in Universe. So, that is my personal amazement when no good explanation can be found. Maybe, you can explain. However, I'm still finding out what I should stop. It looks like we speak the same language, but different meanings. Relationships are far more complex than programming...
So, how are we supposed to fix this bug without introducing new vulnerabilities in your opinion?
Hey, I just read Trac from time to time :) Also expected to see Richard's suggestions here.
Hardcoding any path (like suggested with C:\Windows or a path below it in comment:6) like e.g. the curl devs did does not do the trick according to your line of reasoning.
How to teach OpenSSL to dance? Make it compatible with app-local installation, no?
For Tor Browser, the best option is to disable everything related to those paths as it doesn't use them. But you can change them to C:\Windows\Tor Browser as a so-so workaround.
Hardcoding any path (like suggested with C:\Windows or a path below it in comment:6) like e.g. the curl devs did does not do the trick according to your line of reasoning.
How to teach OpenSSL to dance? Make it compatible with app-local installation, no?
For Tor Browser, the best option is to disable everything related to those paths as it doesn't use them. But you can change them to C:\Windows\Tor Browser as a so-so workaround.
Reading https://daniel.haxx.se/blog/2019/06/24/openssl-engine-code-injection-in-curl/ it seems that the issue can happen when a program loads the openssl configuration file from the default path, which is done with the openssl function CONF_modules_load_file. However we don't call this function in tor, so it doesn't look like we are vulnerable to this issue.
Hardcoding any path (like suggested with C:\Windows or a path below it in comment:6) like e.g. the curl devs did does not do the trick according to your line of reasoning.
How to teach OpenSSL to dance? Make it compatible with app-local installation, no?
For Tor Browser, the best option is to disable everything related to those paths as it doesn't use them. But you can change them to C:\Windows\Tor Browser as a so-so workaround.
Reading https://daniel.haxx.se/blog/2019/06/24/openssl-engine-code-injection-in-curl/ it seems that the issue can happen when a program loads the openssl configuration file from the default path, which is done with the openssl function CONF_modules_load_file. However we don't call this function in tor, so it doesn't look like we are vulnerable to this issue.
Nice find! So, I think we are actually done here.
Trac: Resolution: N/Ato invalid Status: needs_information to closed