|
Message-ID: <4DC443DC.3080008@halfdog.net> Date: Fri, 06 May 2011 18:54:20 +0000 From: halfdog <me@...fdog.net> To: oss-security@...ts.openwall.com Subject: Re: Symlinks and filesystem recursion vulnerabilities: Action needed or ignore? -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Steven M. Christey wrote: > > Assuming I understand the issue correctly, there is precedent in CVE > for this kind of problem, or at least the exploitation of recursive > backup/archive programs as they process files (many seem related to > setting insecure permissions during the copy, and only setting the > secure permissions afterward, a la CWE-689). No, it is not a permission problem. Even with correct permissions, that disallow user x to access a file, he can make a recursion program of another user holding that permissions to access the file. Since backup is usually run as root, permissions will not stop that from happening. > CVE-2009-4411 is the only example I can easily find. As I understand it, this one is slightly different to this problem, because application simply does not check against symlinks correctly and hence may fail, even in a single-user environment. The problem with tar et. al is, that they correctly follow only physical path when run on single-user environment, but may fail, when run on untrusted directory controlled by malicious user due to TOCTOU. > There is a "risk" of sorts to the community that a large number of > these issues could get disclosed for different packages in a short > timeframe, but this happens with any discovery of a new "class" of > security problems or attacks (look at the untrusted path stuff that > happened last year with Windows and Linux). But IMO, better sooner > rather than later. Linux is a multi-user OS and should be treated as > such, which means local file-writing/privilege attacks matter, even > though they might not be as severe as other kinds of attacks. > Somebody audited simpler symlink problems in Debian packages a couple > years ago, but while it must have been very painful and there were > dozens (hundreds?) of separate issues, most of those problems seemed > to get fixed in a relatively quick amount of time. Well, the read problem is fixable, but might cause regressions. I'm not sure if the numerous regressions after the tar fix were the cause of the symlink fix itself (or due to unrelated cleanup also happening during larger code rewrites), but there were some quite annoying problems, some of them still exist. The question is, if the regression risk is higher than the security risk. The write example, that is leading to immediate root priv escalation, is caused by admin error. But since nearly no admin knows, that it is nearly impossible to securely restore a backup to a live system, they are not really to blame. This issue could be "fixed" creating awareness. A final fix would be much simpler, if a safe open call is provided by the OS. I do not know, if there are some flag bits available to modify current open or if a new SecureOps-Syscall (could be used as generic gateway for various sec-related calls) could be implemented. From my point of view, kernel implementation should be rather simple, user space would also be technically simple (libsecureio.so or addon to libc). But I do not know, if such a change would ever be accepted by community and standardization boards. > Maybe the appropriate strategy is for the community to agree on a > good way of solving these problems before announcing all the > different packages that are affected, but it's just a thought. > Ultimately this decision is up to the researcher, affected > developers, and customers. Where could be the right place to find that decision? CERT said, that they do not plan any advisories, which does not mean that they do nothing on the problem, but I think, they see it low risk/low priority, which I can understand in some parts. hd PS: Has someone windows knowledge and programing skills to see if only linux-OS is affected? Would require existence of symlink-analoge structure, and would be more effective if inotify-like calls would be possible. Could the profile synchronization at login be used to take over a windows box at system level? Would also require sync to run at elevated privs. - -- http://www.halfdog.net/ PGP: 156A AE98 B91F 0114 FE88 2BD8 C459 9386 feed a bee -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFNxEMdxFmThv7tq+4RAgAvAJ93fv3c9r0tZjYrcNAcGJYL6ux71gCcCnEO rotufy+xVYEzBRIZVTjJFRQ= =K218 -----END PGP SIGNATURE-----
Powered by blists - more mailing lists
Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.