Upgrade to release 7.991:
- Upgraded included OpenSSL t- version 3.0.21 on all platforms.
- Fixed a memory-consumption hang in Ncat's HTTP proxy code that
affected both connect and listen modes, reported by kumama_nui.
- Patched our included libssh2 source with upstream fixes for
CVE-2025-15661, CVE-2026-7598, CVE-2026-55199, CVE-2026-55200,
CVE-2026-58050, and CVE-2026-58051. The version number has been
annotated as 1.11.1_NMAP1
- [Zenmap][GH#3347] Fixed several issues leading t- crashes when
parsing, editing, or saving command profiles containing '%'
characters.
- [NSE][GH#2272] smb-enum-shares failed t- produce output for valid
shares when an error was encountered on one share.
- [GH#3410] Fixed an issue where DNS resolution would incorrectly
fail t- match the same name in a different case.
- [NSE][GH#1066] Added service names for SSL-protected services
like amt-soap-https t- portrules for several scripts, ensuring
they run on these as well as the standard unencrypted services.
- Audited and converted most instances of strcat, strcpy, and
sprintf t- use bounded functions instead.
- [NSE][GH#2221] mysql-dump-hashes now uses the correct column name
for MySQL 5.7+
- [NSE][GH#2238] http-referer-checker was incorrectly fetching
off-host URLs. Now only URLs on the target are fetched.
- [GH#2122] When an interface is specified with -e, als- bind t-
the IP address for that device s- that it works for non-Linux
systems and non-root users.
- [Nsock][GH#1939] When nsock_iod_set_localaddr() is used,
nsock_connect_*() will now treat errors in bind(2) as connection
failure.
- [GH#2732] Fix a potential crash on 32-bit platforms in debug mode
due to incorrect format specifier for 64-bit integer type.
[Christopher Chavez]
- [GH#3201][GH#3367] Increase line length limit for
nmap-service-probes and correctly handle lines that are to- long.
[@liquidpele, Ashutosh Kumar Singh]
- [GH#3414] Avoid out-of-bounds read when parsing PTR domain names.
[@toor11 (Juri)]
- [GH#2245] Ensure variables updated by signal handlers are
volatile sig_atomic_t.
- [Ncat][GH#1410] Fix an assertion failure (count <= INT_MAX) in
ncat -lk in some cases where stdin or a listening socket produces
an error.
- [NSE][GH#1946] Fix a cryptic error in smb-enum-services, "Server
returned less data than needed for header" when smb.start_smb()
failed.
- Fixed an issue with parsing nmap-service-probes that could cause
a corrupted file t- crash Nmap. Reported by Muhammed Hussein.
- [NSE][GH#2016] Removed hostmap-bfk.nse, since the service it used
shut down.
- Fixed several issues reported by Himanshu Anand: infinite loop in
TCP options parsing and out-of-bounds memory read in IPv4 OS
detection; integer underflow in IPv6 extension header processing;
and undefined behavior in DNS label parsing.
- [GH#2721] Added checks for returned pointers from OpenSSL
allocation functions.
- [GH#1546] Fix an incorrect assertion "timeout / 1000 <= (long)
o.scan_delay" in traceroute which failed for timeouts greater
than 1 second when there was n- scan delay.
- [GH#3175] The --stats-every option can now be used in conjunction
with --noninteractive. Previously, n- stats messages were printed
if a TTY was not attached.
- [GH#3375] Nmap can now be built with OpenSSL 4.0
- [Nping][GH#1751] The --rate option will not accept a rate higher
than 1000 packets per second, since Nsock timers have millisecond
resolution. Use --delay 0 for unlimited rate.
- [Nping] Fixed several issues with Nping in IPv6 mode including:
+ [GH#1261] Incorrect BPF generated leading t- "expression
rejects all packets"
+ [GH#3215] Incorrect constant used t- check for IP version in
Ech- Server
- [NSE][GH#3368] Fixed an out-of-memory issue in packet.lua when
parsing a zero-length TCP header option. [Maxim Suhanov]
- Fixed an issue where Nmap OS scan trusts a packet's ip_len t-
size a CRC32 computation over TCP RST payload data, which may
result in reading arbitrary heap data. Reported by Michael
Bommarito.
- [Ncat][GH#3005] Correctly report listening port number. `ncat -l
-p 0` will cause Ncat t- listen on an ephemeral port, but it was
reporting itself as listening on port 0.
- [Ncat][GH#1672] Fixed an issue where Ncat in server mode would
quit without printing the last received data on a connection,
particularly affecting SCTP.
- [Ncat][GH#2827] Fixed an issue where Ncat in --send-only mode
would ignore disconnects and crash when it tries t- send data t-
a disconnected client.
- [Ncat][GH#3291] Fixed an issue where Ncat on Windows would quit
after 2 minutes due t- an OS-enforced timeout on the half-open
TCP socket used to emulate STDIN.
- [Nping][GH#564] Allow Nping t- fall back t- TCP Connect mode on
Windows when Npcap is not installed.
- [Ncat] Fixed several issues reported by Muhammed Hussein
involving crashes in Ncat's server-mode HTTP proxy, as well as
one code-quality issue with its Telnet negotiation code.
- [Nsock][GH#2595] Fix an issue where Nsock's SOCKS4 proxy code
would send additional null bytes on Windows and other platforms
where the compiler does not understand __attribute__((packed)).
[Daniel Miller]
- The --release-memory option is now a no-op. Nmap will always run
finalization routines that release allocated memory before
closing.
- Fixed an integer underflow in service_scan.cc that would cause
little-endian integers extracted from the beginning of a service
banner t- be interpreted as 0. Discovered with AFL++ by Malek
Althubiany.
- [Nsock][GH#583] Use OpenSSL security levels and callbacks t-
prevent errors connecting t- certain insecure targets when using
NSOCK_SSL_MAX_SPEED. The default, as used in Ncat, now uses
stricter-than-default security level.
- [GH#410] If a target times out due t- --host-timeout, d- not
perform traceroute.
- [Nping][GH#380] Disallow combining Ethernet-related options like
--dest-mac with --send-ip
- [NSE][GH#3250][GH#3206] Fix assertion failures in cases where
connect or send returns immediately with a status other than
ERROR, e.g. TIMEOUT or CANCELED. [Daniel Miller]
- [Ncat][GH#290] Enable ncat -l --ssl t- use DHE and ECDHE cipher
suites for perfect forward secrecy.
- Fix a crash when writing long CPE strings t- output. Reported by
Harshit Gupta. [Daniel Miller]
- [Ncat] Fix several cases where Ncat's SOCKS5 client could
interpret uninitialized data as protocol data, triggered by a
malicious SOCKS5 proxy server. N- code execution or application
crash is possible. Reported by Govind Pratap Singh. [Daniel
Miller]
- [Nping] Fix a out-of-bounds access in Nping Ech- client allowing
a malicious Nping EchoServer t- zer- 32 bytes of memory outside
the packet buffer. Reported by Harshit Gupta. [Daniel Miller]
- Fix a 1-byte overrun (read) while reading certain crafted DNS
labels, reported by Peter Parker. [Daniel Miller]
- [NSE][GH#3317] Function url.build_path was mangling special
characters in URL path segments. [nnposter]
Drop 0004-libdnet-fix-PF_PACKET-conftest-nested-function.patch
because the check for PF_PACKET that failed with clang has been
fixed with commit 33c39cd38 in the upstream of nmap.
Set OEQA_BUILDPATHS_SKIP to ignore upstream HOME path match and
avoid buildpaths QA error.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
License-Update: relicensed to NPSL (Nmap Public Source License)
fix bundled libdnet configure and static link
Add a patch fixing the libdnet PF_PACKET conftest, which used a
nested function definition clang rejects, making configure
wrongly conclude there is no Ethernet support.
Clear DISABLE_STATIC so the bundled libdnet libtool build also
produces libdnet.a (nmap links it statically), and serialize
the make since the top-level Makefile does not order the
link after the recursive libdnet build.
Also regenerate an existing patch to apply without fuzz.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
When ndiff was disabled by default in 51e070301e ("nmap: disable
ndiff"), the python3 RDEPENDS were left unconditional on the main
package. This causes python3-difflib, python3-asyncio and python3-xml
to be pulled into every image that includes nmap, even though ndiff is
not built and the core nmap binary (C++) does not need Python.
Gate the RDEPENDS behind the ndiff PACKAGECONFIG so that Python is only
required when ndiff is actually enabled.
Signed-off-by: Paolo Barbolini <paolo.barbolini@m4ss.net>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The nmap has changed its license to NPSL (Nmap Public Source License)
since 7.90[1][2]. See [3] for a discussion of this license.
According to [1] and [4], 7.92 is the last dual-licensed (GPL-2.0 and
NPSL)version:
"Note that some releases of Nmap may fall under a previous version of
this license, or a different license entirely. The exact terms for a
given version of Nmap can be found in the included LICENSE or COPYING
file. To ease the transition to the NPSL, the first three Nmap releases
made under that license (Nmap 7.90, 7.91, and 7.92) may also be used
under the previous Nmap license terms by anyone who prefers those. "
Add 7.92 recipe with GPLv2 license.
[1] https://nmap.org/npsl/
[2] https://lwn.net/Articles/842436/
[3] https://github.com/nmap/nmap/issues/2199
[4] https://nmap.org/changelog.html#7.92
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Nmap has switched from GPLv2 to their own "Nmap Public Source
License" since a few release. Set it in the recipe accordingly.
The NPSL file in the license firectory has been downloaded
directly from https://svn.nmap.org/nmap/LICENSE
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Set UPSTREAM_CHECK_REGEX to check the correct latest stable verison.
Before the fix:
$ devtool latest-version nmap
INFO: Current version: 7.95
INFO: Latest version: 7.95-1
After the fix:
$ devtool latest-version nmap
INFO: Current version: 7.95
INFO: Latest version: 7.95
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Building with ndiff PACKAGECONFIG failed with the following error:
| File "/yocto/sandbox/build/tmp/work/cortexa53-poky-linux/nmap/7.95/nmap-7.95/ndiff/setup.py", line 11, in <module>
| import setuptools.command.install
| ModuleNotFoundError: No module named 'setuptools'
Fix it by adding the missing dependency.
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
License-Update: Use full file for checksum ( COPYING -> LICENSE )
Use system libpcre
Drop py3 support patches, its default now
Signed-off-by: Khem Raj <raj.khem@gmail.com>
In 7.80 this requires distutils (no longer provided in python 3.12).
This may be resolved in newer nmap versions, so if you care about it
please provide a version update: https://nmap.org/dist/
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a
This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).
This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.
This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:
5 (26%) meta-xfce
6 (50%) meta-perl
15 (42%) meta-webserver
21 (36%) meta-gnome
25 (57%) meta-filesystems
26 (43%) meta-initramfs
45 (45%) meta-python
47 (55%) meta-multimedia
312 (63%) meta-networking
756 (61%) meta-oe
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is the result of automated script (0.9.1) conversion:
oe-core/scripts/contrib/convert-overrides.py .
converting the metadata to use ":" as the override character instead of "_".
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
upstream nmap is python2 compatiable now, but this recipe
supports python3.
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This change makes the parsing go though, we still might have build
issues, which will be reported in world builds seprately
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Updates nmap to v7.80, this solves the following CVEs:
- CVE-2017-18594
- CVE-2018-15173
and addressed numerous bugs as well.
The patch '0001-include-time.h-for-time-structure-definition.patch'
is modified to be applicable to the new version while serving for
the same purpose.
The license changed in the commit https://github.com/nmap/nmap/commit/d639a53
and is only a date bump without modification of any content in the
license.
Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
If both ncat and ssl are in PACKAGECONFIG then the installer adds
a cert bundle to
/usr/share/ncat/ca-bundle.crt
Signed-off-by: Scott Ellis <scott@jumpnowtek.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Currently, the ndiff isn't built and installed
as ndiff is python2 compatible script and it
checks PYTHON_VERSION to determine whether
build and install ndiff in configure phase.
Update to inherit pythonnative to let the
PYTHON_VERSION to be 2 to let ndiff be built
and installed.
Apart from ndiff python script, there is another
script named ndiff.py used by ndiff, export
PYTHON_SITEPACKAGES_DIR to make ndiff.py installed
in the correct place.
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>