| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Summary:
Specially crafted SMB requests on
authenticated SMB connections can send smbd
into a 100% CPU loop, causing a DoS on the
Samba server.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
===========================================================
== Subject: Misconfigured /etc/passwd file may share folders unexpectedly
==
== CVE ID#: CVE-2009-2813
==
== Versions: All versions of Samba later than 3.0.11
==
== Summary: If a user in /etc/passwd is misconfigured to have
== an empty home directory then connecting to the home
== share of this user will use the root of the filesystem
== as the home directory.
===========================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When running mount.cifs with the --verbose option, it'll print out the
option string that it passes to the kernel...including the mount
password if there is one. Print a placeholder string instead to help
ensure that this info can't be used for nefarious purposes.
Also, the --verbose option printed the option string before it was
completely assembled anyway. This patch should also make sure that
the complete option string is printed out.
Finally, strndup passwords passed in on the command line to ensure that
they aren't shown by --verbose as well. Passwords used this way can
never be truly kept private from other users on the machine of course,
but it's simple enough to do it this way for completeness sake.
Reported-by: Ronald Volgers <r.c.volgers@student.utwente.nl>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Acked-by: Steve French <sfrench@us.ibm.com>
Part 2/2 of a fix for CVE-2009-2948.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible for an unprivileged user to pass a setuid mount.cifs a
credential or password file to which he does not have access. This can cause
mount.cifs to open the file on his behalf and possibly leak the info in the
first few lines of the file.
Check the access permissions of the file before opening it.
Reported-by: Ronald Volgers <r.c.volgers@student.utwente.nl>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Acked-by: Steve French <sfrench@us.ibm.com>
Part 1/2 of a fix for CVE-2009-2948.
|
|
|
|
| |
Karolin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
samu_set_unix() does not use the rid allocator, but forces to use the
algoritmic allocator unconditionally, this is wrong and inconsistent.
Use samu_alloc_rid_unix() instead.
(If we create a new user we should do it in a way consistent with all
other commands like pdbedit -a and net rpc user add.)
(cherry picked from commit e1d4db8f55b25c7e9c408cb334fb89ccfd4c6565)
Signed-off-by: Michael Adam <obnox@samba.org>
This fixes bug #6628.
(cherry picked from commit 0a1b125ae4260de3cee6a92b19e3977d922a8c11)
|
|
|
|
|
|
|
| |
With the previous code, the cache can never have been hit at all.
Michael
(cherry picked from commit 12277e145f4dcc589e84e4a90b2497728d2317b6)
|
|
|
|
|
|
|
|
| |
metze
(similar to commit 1e1445bc7672b17a1d689fa0f0732b05b6e04da5)
Fixes bug #6627.
(cherry picked from commit 91ac57e6b443732f64c92788d7a18ae568601763)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a crash bug hit when multiple mappings were found by
the ldap search. This crash was caused by an ldap asssertion
in ldap_next_entry because was set to NULL in each iteration.
The corresponding fix was applied to the idmap_ldap_sids_to_unixids()
by Jerry in 2007 (b066668b74768d9ed547f16bf7b6ba6aea5df20a).
This fixes the crash part of bug #6387.
There is a logic part, too:
The problem currently only occurs when multiple mappings are found
for one given unixid. Now winbindd does not crash any more but
it does not correctly handle this situation. It just returns the
last mapping from the ldap search results.
This needs fixing.
Michael
(cherry picked from commit e9010fa366746ec1ae948dbcf3493d446e23b14c)
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit 15652ee4259201a6d794c735d7e81631338f1050)
|
|
|
|
|
|
|
| |
be retrieved.
Guenther
(cherry picked from commit 1fb3ee26df3271dca802df07e20ea5b30da660e4)
|
|
|
|
|
|
|
| |
commit 1a0005e1c508cf3b170d1c7e43b94a47b2820506)
(cherry picked from commit 133cdb46be154eeceb080fa9db88a38d9f87c919)
(cherry picked from commit 1acc2a976a9ede216d2ad4bb241c3f3babef2637)
|
|
|
|
|
|
|
|
| |
We weren't reaping children in the [x]inetd case.
Jeremy.
(cherry picked from commit 7e51314f2e18241876b049642fcb133df7e44c70)
(cherry picked from commit a0626827c820cad082001ab76f1f7e37f1a7307b)
|
|
|
|
|
|
|
| |
to smbd/trans2.c opens up SETFILEINFO calls to POSIX_OPEN only. The change to first smbd/open.c closes 2 holes that would have been exposed by allowing POSIX_OPENS on readonly shares, and their ability to set arbitrary flags permutations. The O_CREAT -> O_CREAT|O_EXCL change removes an illegal combination (O_EXCL without O_CREAT) that previously was being passed down to the open syscall. Jeremy.
(cherry picked from commit 79f26472b4ae561ec00c30f31dd63ccab6dfc0c4)
(cherry picked from commit fedc34b47664439b0d066c087d9bfa5a34c81fff)
|
|
|
|
|
|
|
| |
This addresses bug #6498.
(cherry picked from commit a702dea5a86f22e0b7857b67447152a06b3bbea2)
(cherry picked from commit aa769edfcef6937927201f765509c10b60764817)
(cherry picked from commit 471f905f788209d0e76ca2d327d30f830ce4648c)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a NULL sid_array since 3.2.0.
Found by torture test.
This makes it possible to search for users while adding them to groups via
windows usermanager.
Fixes bug #6484.
Guenther
(cherry picked from commit 0cfe59f1b580371f445b50151ceae5aef02bf0c4)
(cherry picked from commit b653d1b1186e1c43f1ad0a64d19ee2fc015594a6)
|
|
|
|
|
|
|
|
|
| |
Thanks to Herb Lewis <hlewis [at] panasas.com> for noticing!
Was commit 095f66b0 in master.
Karolin
(cherry picked from commit 0839aeb2c583272b041c5a3ebe762c33bc8245f4)
|
|
|
|
|
| |
Karolin
(cherry picked from commit 623a625ebe701d67b0547152e186721c7aa6d6e7)
|
|
|
|
|
|
|
| |
Karolin
(cherry picked from commit 54dffbea663ecf4542d6c5e30da6e346d5d60424)
(cherry picked from commit 2538df1ea3229ea6d8242b5ae6fdd3d453395609)
(cherry picked from commit 85f3b70d4aca641339b86f71b551156fa9aa27cb)
|
|
|
|
|
|
|
|
| |
to what we're giving Everyone. Jeremy.
Fixes bug #6504.
(cherry picked from commit 4e854cb52cfb4f3c25c92324c6e7505f1c8290b3)
(cherry picked from commit eb1c74737e5d40ae85102613a4dfcd89a3235feb)
|
|
|
|
|
|
|
|
|
|
| |
lookupname failed, cannot find domain when attempt
to change password.
This addresses bug #6560.
Signed-off-by: Bo Yang <boyang@samba.org>
(cherry picked from commit 87b52c1b2062fc8e23c6d3cf630eac5cb9fbaecf)
|
|
|
|
|
|
|
|
|
|
| |
metze
(cherry picked from commit a14efbadd53ac9678d75e6029f947d63cfa0c4e5)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
This addresses bug #6526.
(cherry picked from commit 92bb02adbc808ed3180ab66b45fb717c9dad03b4)
|
|
|
|
|
|
|
|
|
|
| |
E.g. last mod time is not preserved when "unix extensions=yes" are set - and u
Cancel out any pending "sticky" writes or "last write" changes when
doing a UNIX info level set.
Jeremy.
(cherry picked from commit 5b03af33ad45368bea7cf6cabc91f62e2503de99)
(cherry picked from commit 00aaf9a46a202d7cd0a8cd3b8e2f9d95238a761a)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
stopped working when "modify properties" permissions were not granted (meaning you had to be allowed to disable the account that you were about to delete).
Libnetapi should not delete machine accounts, as this does not
happen on win32. The WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE flag
really means "disable" (both in practice and docs).
However, to keep the functionality in "net ads leave", we
will still try to do the delete. If this fails, we try
to do the disable.
Additionally, it is possible in windows to not disable or
delete the account, but just tell the local machine that it
is no longer in the account. libnet can now do this as well.
Don't use ads realm name for non-ads case. #6481
Also check that the connection to ads worked.
(cherry picked from commit 880d1a3f83a0834225d5a7c0f179c236b0e59ef8)
|
|
|
|
|
| |
Guenther
(cherry picked from commit db7c5d175ba2d733df445f7d0dc570a79a417f49)
|
|
|
|
| |
uninitialized variable. (cherry picked from commit f92195e3a1baaddda47a5d496f9488c8445b41ad)
|
|
|
|
| |
Karolin
|
|
|
|
| |
This is the part of checkin cfee2025 that is relevant to this bug.
|
|
|
|
|
| |
This fixes bug #5945.
(cherry picked from commit a7735416792f8156e53a04af98e7e2dff0b6707d)
|
|
|
|
|
|
| |
These were added between 3.2.4 and 3.2.5 that have caused users problems.
This fixes among others bug #6089 and #6112.
(cherry picked from commit f2a29585123e6072a75eb9abdd202f99f5a01e1e)
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is totally valid to have an alias with no members.
This fixes bug #6465.
Tridge, please check.
Found by RPC-SAMR torture test.
Guenther
(cherry picked from commit d27c4346397b828e3d7d01473f174577440d950a)
|
|
|
|
|
|
|
|
|
| |
This is aiming bug #6351.
Karolin
(cherry picked from commit c94d1cd7b1dc3ff99ae5a1eb9058ed6015fb9749)
(cherry picked from commit 11ed212591d612632fcb47f1eac10507b89ffdec)
(cherry picked from commit 28d4cd50d1a76bc374a8420c490411a52c32fdbb)
|
|
|
|
|
|
|
|
| |
This is now also verified with the RPC-SAMR-LARGE-DC test.
Guenther
(cherry picked from commit fca7dce1a908570e463ddcbd663955fcafd1d843)
(cherry picked from commit 6ad726f50ee10ac2a2f157906b3b3adb88bfea37)
|
|
|
|
|
| |
Karolin
(cherry picked from commit a7fbd3ae42fd3849150da27c37405dbefb59f86e)
|
|
|
|
|
|
|
|
|
| |
Invalid pointers were being dereferenced in lookup_sids causing
occasional seg faults.
Signed-off-by: Tim Prouty <tprouty@samba.org>
(cherry picked from commit 34ca12c9396f7c8475cd1525bdbc40021b0e533f)
(cherry picked from commit 9f5f8278b905b38d288618916c23f85373919b83)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In winbind, we do multiple events in one select round. This needs fixing, but
as long as we're still using it, for efficiency reasons we need to do that.
What can happen is the following: We have outgoing data pending for a client,
thus
state->fd_event.flags == EVENT_FD_WRITE
Now a new client comes in, we go through the list of clients to find an idle
one. The detection for idle clients in remove_idle_client does not take the
pending data into account. We close the socket that has pending outgoing data,
the accept(2) one syscall later gives us the same socket.
In new_connection(), we do a setup_async_read, setting up a read fde. The
select from before however had found the socket (that we had already closed!!)
to be writable. In rw_callback we only want to see a readable flag, and we
panic in the SMB_ASSERT(flags == EVENT_FD_READ).
Found using
bin/smbtorture //127.0.0.1/tmp -U% -N 500 -o 2 local-wbclient
Volker
(commit 68c5c6df in master)
(cherry picked from commit d12681489f18df97b11c4ce6e069d6e2d006c184)
|
|
|
|
| |
(cherry picked from commit fad2741ec79a34f25577d0a5d3c35a6455d3ce24)
|
|
|
|
|
|
|
|
| |
It is not technically an ldb bug, but apparently some callers try to access
res before checking the ldb_search() return code.
So make their attempt very evident (a NULL dereference will make it cristal
clear where the bug is).
(cherry picked from commit c60539f31f63bd65e5b0e3ee16365f036bef3d5b)
|
|
|
|
|
|
|
| |
Jeremy.
(cherry picked from commit 8d178837f259757340a09a688ed194e3e4a92c36)
(cherry picked from commit 6631ca4a51d4b13d2edd2dc899f7b76c233825b5)
(cherry picked from commit a7f96104b957ba0eb910f8c0073818f872345e3c)
|
|
|
|
|
|
|
|
|
|
| |
Was missing case of "If file exists open. If file doesn't exist error."
Damn damn damn. CIFSFS client will have to have fallback cases
for this error for a long time.
Jeremy.
(cherry picked from commit b652082648c49b525d2b2ce619b575ee75bc242e)
(cherry picked from commit 12cf12f10c1c6adad568daf6c16144a99b0f822e)
(cherry picked from commit 2050a239a5fee6cfd17d083619cc4a03a3a6dd6d)
|
|
|
|
| |
(cherry picked from commit cdc93a7edc6798078a7b21b1728a844437b6522b)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch from Jeremy.
With this patch, I was able to join Windows 7 RC to a Samba3 DC, and login into a
Samba 3 Domain.
There are still two registry settings required:
HKLM\System\CCS\Services\LanmanWorkstation\Parameters
DWORD DomainCompatibilityMode = 1
DWORD DNSNameResolutionRequired = 0
Do *not* modify the other netlogon registry parameters that were passed around,
they weaken security.
Guenther / Jeremy.
(cherry picked from commit 43bab13d00fa073acf709ac9a66cb2782694811b)
|
|
|
|
|
|
|
| |
Found by SCHANNEL torture tests.
Guenther
(cherry picked from commit c578c66569eed3ae19b42c9787399eb70b935e0a)
|
|
|
|
|
|
| |
need to fix bug #6099 Samba returns incurrate capabilities list. 1). Add a comment to point out that r->in.negotiate_flags is an aliased pointer to r->out.negotiate_flags. 2). Ensure we return NETLOGON_NEG_STRONG_KEYS in our flags return if the client requested it. 3). Clean up the error exits so we always return the same way. Signed off by Guenther. Jeremy.
(cherry picked from commit 59ee131464636d3363bc7ee398ba6390a6333558)
|
|
|
|
|
|
|
| |
negotiate flags (which are a pointer to the out negotiate flags assigned in the generated netlogon server code). So, while you wanted to just set the *out* negflags, you did in fact reset the *in* negflags, effectively eliminating the NETLOGON_NEG_STRONG_KEYS bit (formerly known as NETLOGON_NEG_128BIT) which then caused creds_server_init() to generate 64bit creds instead of 128bit, causing the whole chain to break. *Please* check.
Guenther
(cherry picked from commit 853bbc0d3920654aa7401fa5d6fcba7ff86e1a21)
|
|
|
|
|
|
| |
this is a backport of f238809d236443b8968e1b4b197a55935c7c7e85 from master
(cherry picked from commit 1b040289f14bb22d3b6ab07a452236549d6c9bf6)
(cherry picked from commit 7f1771f26dcc334c32df332545d33937f8602bd6)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
owner (bug#2346)
The problem of bug #2346 remains for users exported by
winbindd, because create_token_from_username() just fakes
the token when the user is not in the local sam domain. This causes
user_in_group_sid() to give totally wrong results.
In uid_entry_in_group() we need to check if we already
have the full unix token in the current_user struct.
If so we should use the current_user unix token,
instead of doing a very complex user_in_group_sid()
which doesn't give reliable results anyway.
metze
(cherry picked from commit b79eff843be392f3065e912edca1434081d93c44)
(cherry picked from commit cb5c72c0a05a78ff1b86eb02cf5ecd3d7d69623d)
(cherry picked from commit ef0d72513b5404f176186632aab67d7b87039ba2)
|
|
|
|
|
|
|
|
| |
picked from 9097a67de
Volker
(cherry picked from commit 9ffb1e6f0ded2647efe567912873a1a63e2ffed1)
(cherry picked from commit d3f39da433c22632007a9300d4dab4cda0dfd43e)
|
|
|
|
|
|
|
| |
that *uid is always initialized on return from create_token_from_username(). Restore it. Jeremy.
(cherry picked from commit 09b76c57098ed4d11855000ae31cd346cb9a765d)
(cherry picked from commit 191e4c415e7008070110970ba51f3f82dc493a8b)
|
|
|
|
|
|
|
| |
Port of 67ca76c288eb095ae to 3.2
Signed-off-by: Volker Lendecke <vl@samba.org>
(cherry picked from commit 0b0b0499f0ba60cfff943fa2200a6534c0a3f816)
|
|
|
|
|
|
| |
Guenther
(cherry picked from commit c3843c40b5c426910a184dcef3b17283e6e224e9)
(cherry picked from commit 679be14a080dfcbbbc9403ff0fc67b61073a357e)
|