Live data from Hacker News

Skype can't fix a nasty security bug without a massive code rewrite

zdnet.com

21–30 of 99 posts

Re: Skype can't fix a nasty security bug without a massive code rewrite

#21
post #7

Time to use the web client. Or not at all, I haven't had a need for skype but the last client I used was the web client on Linux.

I've had good experience with Jitsi Meet ( https://meet.jit.si ). You can run it from a browser, it's very pleasant and works quite well. Plus, it's open source.

Thank you. Just tried it and it works great in Chromium.

Re: Skype can't fix a nasty security bug without a massive code rewrite

#22

I must be missing something obvious here. Why can’t skype just hard code the locations and hashes of the dll files it needs to load? Why is Skype loading random DLLs from user accessible folders? I must be misunderstanding how Windows programs use DLLs and why it needs to just search for them. Edit: @jwilk in the comments here pointed to a better article about the security vulnerability [1]. Based on the technical de…

> A couple of lines to fix the bug, in theory Yes that's all it takes. No code reviews, security review, integration testing, quality assurance testing, compatibility testing, or validation. None of the work on the installer or updater. No release notes or other communication to the community. Just a couple lines of code. Easily done before morning coffee.

> code reviews, security review, integration testing, quality assurance testing, compatibility testing,

Valid counter-criticism of the "just a couple of lines of code" line generally, but four months is a long time since disclosure and that is a lot of morning coffees.

Re: Skype can't fix a nasty security bug without a massive code rewrite

#23
post #9

From the disclosure ( http://seclists.org/fulldisclosure/2018/Feb/33 ): > An unprivileged (local) user who is able to place UXTheme.dll or any of the other DLLs loaded by the vulnerable executable in %SystemRoot%\Temp\ gains escalation of privilege to the SYSTEM account. On my machine at least an unprivileged user does not have access to %SystemRoot%\Temp\ so it seems to be a case of what Raymond Chen refers to as "o…

I believe the default permissions for a volume grant users the ability to create folders, so they should be able to create a folder in C: called Temp and put files into it. It’s also possible that when Skype’s updater creates the folder it has different ACLs.

> I believe the default permissions for a volume grant users the ability to create folders, so they should be able to create a folder in C: called Temp and put files into it.

That's inaccurate. UAC makes it appear like you can, if you try to do this as an unprivileged user on a default install it will fail.

Plus even if you could create C:\Temp, you'd need to add it to the system-scoped environmental variable PATH for it to be searched for libraries. If you could do that you've already effectively escalated without this.

This Skype issue exists because they're running a SYSTEM level process from a directory a normal user owns.

Re: Skype can't fix a nasty security bug without a massive code rewrite

#24

Earlier quoted context omitted.

This is due to the way that Windows loads DLLs, there is a defined search order and the current working-directory is one of the locations. There have been a lot of write-ups on this topic on Raymond Chen's blog, here is a good example: https://blogs.msdn.microsoft.com/oldnewthing/20101110-00/

If that were all there is to it, would this not be an issue for all Windows applications, not just Skype? Is it just Skype that puts the current working directory in the list, or at least in a position where it can be used to preempt the loading of the correct DLL? The link you provide as an example suggests that this sort of thing might be done to facilitate testing, but again, that doesn't seem to be a compelling r…

Its an issue with all windows applications but not all windows applications have the same elevated permissions that skype seems to

Re: Skype can't fix a nasty security bug without a massive code rewrite

#25
The article mentioned that the bug reporter claimed that MacOS and Linux were also possibly affected. I run Skype on Xubuntu and it is installed via apt and a signed repo / package. Also Linux by default doesn't have '.' in the search path for dlopen() / ld.so.

Re: Skype can't fix a nasty security bug without a massive code rewrite

#27

I must be missing something obvious here. Why can’t skype just hard code the locations and hashes of the dll files it needs to load? Why is Skype loading random DLLs from user accessible folders? I must be misunderstanding how Windows programs use DLLs and why it needs to just search for them. Edit: @jwilk in the comments here pointed to a better article about the security vulnerability [1]. Based on the technical de…

> A couple of lines to fix the bug, in theory Yes that's all it takes. No code reviews, security review, integration testing, quality assurance testing, compatibility testing, or validation. None of the work on the installer or updater. No release notes or other communication to the community. Just a couple lines of code. Easily done before morning coffee.

As others have already noted, yes, it’s a pain ship fixes in a company setting, and I fully understand that. On the oth r hand, 4 months for no fix is inexcusable.

Re: Skype can't fix a nasty security bug without a massive code rewrite

#28

I must be missing something obvious here. Why can’t skype just hard code the locations and hashes of the dll files it needs to load? Why is Skype loading random DLLs from user accessible folders? I must be misunderstanding how Windows programs use DLLs and why it needs to just search for them. Edit: @jwilk in the comments here pointed to a better article about the security vulnerability [1]. Based on the technical de…

> A couple of lines to fix the bug, in theory Yes that's all it takes. No code reviews, security review, integration testing, quality assurance testing, compatibility testing, or validation. None of the work on the installer or updater. No release notes or other communication to the community. Just a couple lines of code. Easily done before morning coffee.

> No code reviews, security review, integration testing, quality assurance testing, compatibility testing, or validation.

If this was a small startup, I can absolutely see those being hurdles. This is Microsoft on a product they've had for 20+ years that is a major part of their platform - those things should be mostly automated and well oiled machines.

A mature enterprise level company has no excuses for "QA is hard!" or "We can't validate patches!" for a product they sell. I don't expect them to get this out in ten minutes, but they should be able to manage a patch in 24 - 72 hours for a fairly critical and relatively easily solved security bug.

Re: Skype can't fix a nasty security bug without a massive code rewrite

#30
post #9

From the disclosure ( http://seclists.org/fulldisclosure/2018/Feb/33 ): > An unprivileged (local) user who is able to place UXTheme.dll or any of the other DLLs loaded by the vulnerable executable in %SystemRoot%\Temp\ gains escalation of privilege to the SYSTEM account. On my machine at least an unprivileged user does not have access to %SystemRoot%\Temp\ so it seems to be a case of what Raymond Chen refers to as "o…

I believe the default permissions for a volume grant users the ability to create folders, so they should be able to create a folder in C: called Temp and put files into it. It’s also possible that when Skype’s updater creates the folder it has different ACLs.

%SYSTEMROOT% is C:\Windows, not C:\.

I too cannot access C:\Windows\Temp at all without escalating permissions. Neither can I write to anything in C:\Windows as described in the original source without escalated permissions.

I'm a little puzzled about what would stop someone with the same permissions from doing exactly the same thing with the fully qualified name.

Post reply on HN