steve wrote:Again you are misrepresenting, or misunderstanding the nature of the risk. For applications that require dynamic linking, it is not possible to eliminate the risk of DLL hijacking. Even using absolute paths only, exactly the same exploit is possible by placing the malicious DLL in that location. DLL hijacking requires that the malicious DLL has been planted in the DLL search path, which is not the same as the "project load path". When loading a project, Audacity attempts to "read" the project - it does not attempt to "execute" the project. You have suggested that a DLL planted within a remote project may be loaded by Audacity, but have offered absolutely no evidence to substantiate that claim, and which as far as I can see, does not appear to be the case.
You also assert that this issue can not affect Linux, which is also untrue. Although Linux does not use DLLs, it does use dynamic linking to library files, and exactly the same risk exists IF a malicious library is placed in the library search path ahead of the genuine library file.
Also, as has been pointed out several times now, you are talking to the wrong people. This is the user support forum, not the developer's mailing list.
Well, to me it seems that I'm the one who is misunderstood. You say I didn't deliver any evidence that Audacity loads DLLs from Remote Locations, but I did! Just look at the screenshot I attached in an earlier post, and you can clearly see that:
a. Audacity loads a project from a remote Destination (which isn't basically a problem).
b. Loads several DLLs into the Audacity Process that also reside on the Remote System!
So, its NOT about Audacity loading DLLs from the Users System, as I have already told several times now, its about Audacity loading DLLs from "The Internet"!!!
As I have said several times now, I'm not an developer, so I can't give you a full blown POC which opens CALC.exe or demonstrates the issue in any other manor, but the screenshot alone is prove that Audacity loads DLLs from places where it shouldn't. You can look at the screenshot and just see it black on white (well, with yellow marks

)
You said, that the search-path for DLLs is NOT the Project-Path. Well I say, even though its not the same path, the DLL-Search-Path includes the Project-Path, and exactly that is the issue!
In regards to Linux: All my Reports belong to Windows only. I have no idea about if/how this affects Linux nor do I care
BTW: Maybe the problem why you all don't see the issue is, that on the screenshot the "remote" Address uses a private-ip-range. So let me describe the test-setup:
In the test there were two PCs involved:
A:) A physical PC that acted as the "Evil Internet Host". This PC had the 192.168.8.* Subnet.
B:) A virtual PC that acted as the victims PC. This PC was behind a NAT-Network with 10.0.2.* Subnet.
The 192* Net is UNTRUSTED to the Virtual-PC, so even it has a "private" IP-Range, it acts like a real Internet-Host to the Victim-PC. If that's the point where you all don't believe me, I can make a setup with an real public-IP, but it would need a lot of time to do that, and the result would be absolutely the same! Also, I have given you the sysinternal link (\\live.sysinternals.com\Tools), where you all can see, that a typical windows-pc loads external network-shares without any warnings.