[Bug 1976405] Re: [MIR] libntlm
Mark Esler
1976405 at bugs.launchpad.net
Thu Aug 18 20:17:20 UTC 2022
I reviewed libntlm 1.6-4 as checked into kinetic. This shouldn't be
considered a full audit but rather a quick gauge of maintainability.
- CVE History:
- CVE-2019-17455
- "It was discovered that Libntlm incorrectly handled specially crafted NTML requests. An attacker could possibly use this issue to cause a denial of service or another unspecified impact."
- https://ubuntu.com/security/notices/USN-5108-1
- Open Bugs?
- "Problem with cross domain authentication"
- https://gitlab.com/gsasl/libntlm/-/issues/1
- Build-Depends?
- gnulib built into package for DES
- linux-vdso.so.1
- libc.so.6
- ld-linux-x86-64.so.2
- pre/post inst/rm scripts?
- none
- init scripts?
- none
- systemd units?
- none
- dbus services?
- none
- setuid binaries?
- none
- binaries in PATH?
- none
- sudo fragments?
- none
- polkit files?
- none
- udev rules?
- none
- unit tests / autopkgtests?
- yes
- cron jobs?
- none
- Build logs:
- handful of "warning: inlining failed in call to 'getUnicodeString.constprop'" on build
- Processes spawned?
- not checked
- Memory management?
- four memcpy calls in smbutil.c
- first use is very obtuse
- no size checking--might be fine
- File IO?
- no, only test code
- Logging?
- no, only example code
- Environment variable usage?
- none
- Use of privileged functions?
- none
- Use of cryptography / random number sources etc?
- NTLMv1 is deprecated and highly unsafe (!)
- implementation looks good
- Use of temp files?
- none
- Use of networking?
- no, only example code
- Use of WebKit?
- none
- Use of PolicyKit?
- none
- Any significant cppcheck results?
- smbutil.c:317 assigns a pointer to Null
- AddString appears to be purposely built this way
- Any significant Coverity results?
- gnulib overwrites part of a buffer being copied in md4_process_bytes function
- perhaps intentional if buffer is under 16? should use memmove otherwise
- Libntlm calls md4_buffer which calls md4_process_bytes
- ./gl/md4.c:269
- test code reports ignored
- Any significant shellcheck results?
- none
- Any significant bandit results?
- none
This package encourages the use of NTLMv1. It implies that a NTLM server should use deprecated authentication. In many scenarios this means enabling SMBv1 as well! This is only acceptable in completely controlled environments.
- https://support.microsoft.com/en-us/topic/security-guidance-for-ntlmv1-and-lm-network-authentication-da2168b6-4a31-0088-fb03-f081acde6e73
>From Libntlm's README:
"""
I don't consider NTLM a secure authentication protocol -- it uses MD4
and single-DES. MD4 has been broken, and single-DES have a too small
key size to be considered secure against brute-force attacks. You
should only use libntlm for interoperability purposes, not to achieve
any kind of security.
"""
Security team ACK for promoting libntlm to main.
** Bug watch added: gitlab.com/gsasl/libntlm/-/issues #1
https://gitlab.com/gsasl/libntlm/-/issues/1
** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2019-17455
** Changed in: libntlm (Ubuntu)
Assignee: Ubuntu Security Team (ubuntu-security) => (unassigned)
** Changed in: libntlm (Ubuntu)
Status: New => In Progress
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mutt in Ubuntu.
https://bugs.launchpad.net/bugs/1976405
Title:
[MIR] libntlm
Status in libntlm package in Ubuntu:
In Progress
Status in mutt package in Ubuntu:
New
Bug description:
[Summary]
* Due to the nature of the package (an authentication library) it should
be reviewed by the security team before promotion
* build log: https://launchpad.net/ubuntu/+source/libntlm/1.6-4/+build/22298428
[Availability]
* The package is already in Ubuntu universe.
* The package build for the architectures it is designed to work on.
[Rationale]
*This MIR is transitive for an MIR of gsasl. It is needed to resolve
a component mismatch for mutt
[Security]
* CVE-2019-17455 was fixed and is the only CVE listed for this package
* No `suid` or `sgid` binaries
* No executables in `/sbin` and `/usr/sbin`
* Package does not install services, timers or recurring jobs
* Packages does not open privileged ports (ports < 1024)
* Due to the nature of the package (an authentication library) it should
be reviewed by the security team before promotion
[Quality assurance - function/usage]
* The package works well right after install
[Quality assurance - maintenance]
* The package is maintained well in Debian/Ubuntu and has not too many
and long term critical bugs open
* The package does not deal with exotic hardware we cannot support
[Quality assurance - testing]
* The package runs a test suite on build time, if it fails
it makes the build fail
* The package runs an autopkgtest, and is currently passing
* The package does have not failing autopkgtests right now
[Quality assurance - packaging]
* debian/watch is present and works
* debian/control defines a correct Maintainer field
* This package does not yield massive lintian Warnings, Errors
* Full output of `lintian --pedantic`:
```
P: libntlm source: very-long-line-length-in-source-file configure line 11350 is 704 characters long (>512)
P: libntlm source: very-long-line-length-in-source-file m4/libtool.m4 line 6621 is 738 characters long (>512)
```
* Lintian overrides are not present
* This package has no python2 or GTK2 dependencies
* Packaging and build is easy
[UI standards]
* Application is not end-user facing (does not need translation)
[Dependencies]
* No further depends or recommends dependencies that are not yet in main
[Standards compliance]
* This package correctly follows FHS and Debian Policy
[Maintenance/Owner]
* Owning Team will be foundations
* Team is not yet, but will subscribe to the package before promotion
* This does not use static builds
* This does not use vendored code
* The package successfully built during the most recent test rebuild
[Background information]
* The Package description explains the package well
* Upstream name is libntlm
* Link to upstream project https://www.nongnu.org/libntlm/
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libntlm/+bug/1976405/+subscriptions
More information about the foundations-bugs
mailing list