Metasploit Pro Version 5.1.0-2026073001 Release Notes
Software release date: July 30, 2026 | Release notes published: August 3, 2026
Blog post
See our Metasploit 5.1 blog post for more details.
New Module Content (9)
- #21407 - Adds a new exploit module for FlowiseAI Flowise (CVE-2026-41264). The CSV Agent feature evaluates LLM-generated Python code without proper sandboxing, allowing a prompt injection to achieve arbitrary code execution as the user running the server. Flowise versions 1.3.0 through 3.0.13 are affected. The module requires an API key with
chatflows:createpermission but does not require Flowise authentication to trigger the underlying flaw. - #21452 - Adds a module that exploits a vulnerability in Pterodactyl Panel before version 1.11.11 that allows unauthenticated remote code execution through improper handling of locale file operations. The vulnerability, CVE-2025-49132, exists in the
locale.jsonendpoint which allows path traversal and arbitrary file creation, resulting in remote code execution in the context of the user running the web server. - #21456 - Adds a local module for the Fragnesia exploit, a page-cache replacement vulnerability in the Linux kernel’s XFRM (IPsec) subsystem, tracked as CVE-2026-46300.
- #21473 - Adds a new persistence module,
exploits/linux/persistence/apache_htaccess, that plants wireghoul’smod_cgi.htaccessweb shell on a Linux Apache target. - #21499 - Adds a new local privilege escalation module for macOS targeting CVE-2024-27822 in PackageKit.framework. When a PKG installer script uses a ZSH shebang, PackageKit runs it as root while inheriting the installing user’s environment, causing ZSH to source the user’s
~/.zshenvwith root privileges. The module plants a payload in~/.zshenvthat fires only when running as root, then opens a minimal PKG with Installer.app; once the user approves the installation prompt and authenticates, the payload executes as root and a root session is returned. Affected versions are macOS 14.4, 13.6.6, 12.7.4, and 11 and earlier; the issue is patched in 14.5, 13.6.7, and 12.7.5. - #21589 - Adds Windows on ARM (AArch64) reverse-TCP command-shell payload.
- #21615 - Adds a new exploit module for CVE-2026-48907, an unauthenticated arbitrary profile creation vulnerability in the JCE (Joomla Content Editor) extension for Joomla!. The
profiles.importtask fails to enforce authentication, letting an attacker import a crafted profile that is written to disk as a PHP web shell, resulting in remote code execution when thetmp/directory is directly accessible. All JCE versions up to and including 2.9.99.4 are affected, and no credentials are required. - #21620 - Adds an HTTP to SMB Relay server module allowing users to relay an incoming NTLM HTTP authentication request to multiple SMB servers in order to establish an SMB session on the target hosts to be used by the framework.
- #21683 - Adds an unauthenticated RCE exploit module for CVE-2026-3891 targeting the Pix for WooCommerce WordPress plugin.
Enhancements and Features (22)
- Pro: Adds multiple enhancements to the network topology page.
- Pro: Adds support for selecting Malleable C2 profiles from the single module run page, the payload generator, and the global persistent listeners page. This helps shape HTTP(S) network traffic for Meterpreter payloads.
- Pro: Adds a new warning alert to the payload generator to notify the user when the
encoder/noneorencoder/eicarencoder was selected, which may not be what the user intended. - #21728 - Adds support for a new
MALLEABLEC2option to Meterpreter HTTP(S) payloads. This feature enables users to load a standard profile into Meterpreter and change the shape of its HTTP(S) traffic. All Meterpreters, including Windows, Java, Python, PHP and Linux, have been updated with this functionality. - #21235 - Adds four encoder variants for both RISC-V 32-bit and 64-bit little-endian architectures.
- #21237 - Adds
reverse_tcpandbind_tcpstagers and a shell command stage for both RISC-V 64-bit and 32-bit little-endian Linux targets. - #21384 - Adds Linux fetch multi payloads, a fetch server for FTP-based fetch payloads, and a TFTP server to
rex/prototo align with other servers. - #21379 - Improves the FTP login scanner by extending the reporting logic and adding extra checks. Also fixes an issue with the detection of anonymous logins.
- #21416 - Updates the
Exploit::Remote::Ftpmixin to improve target fingerprinting. Now leverages recog to fingerprint targets from their banners and addsftp_fingerprintandftp_list_directorymethods to assist with target enumeration. - #21436 - Improves UX for reloading of library files.
- #21575 - Improves
scanner/ftp/ftp_versionto now report the service if the host is up but no appropriate FTP banner is received. - #21579 - Adds a few extra fields to some MCP server tools to align with recent RPC changes in the framework. The
msf_service_infotool now hasresourceandparentsfields, themsf_vulnerability_infotool now has aresourcefield, themsf_note_infotool now has adatafield, and themsf_credential_infotool now has newrealm_keyandrealm_valuefields. - #21580 - Adds a Certificate Signing Request (CSR) trace to the
CertificateTracefunctionality. Users can now opt to see the CSR printed when requesting certificates from AD CS. - #21599 - Extends
CertificateTracefunctionality to also surface the server’s TLS peer certificate when an HTTP module connects over HTTPS. Makes use of the sameCertificateTraceenum (off/metadata/full) operators are already familiar with. - #21602 - Updates the Windows service PE template to use an injected segment instead of the old substitution method.
- #21607 - Extends
CertificateTracepeer cert tracing to support LDAP over TLS and RDP. No new operator-facing option — operators use the existingCertificateTraceenum (off/metadata/full). - #21608 - Adds
CertificateTracepeer cert tracing to PostgreSQL over TLS, and fixes a long-standing gap where the Postgres mixin accepted anSSLdatastore option but never passed it through to the underlying connection. - #21622 - Adds Bearer Authentication to the MCP server plugin.
- #21637 - Adds improved levels of granularity to the
KerberosTicketTracefunctionality. Users can now choose to print the full Kerberos trace output, only the tickets, or only the metadata. - #21638 - Reuses the existing Kerberos ticket trace formatting for offline Kerberos artifact workflows, so stored and converted tickets can be inspected with the same output style used during live Kerberos authentication.
- #21653 - Adds job tracking via
run_uuidacross all module types when executed through RPC endpoints to support Model Context Protocol (MCP) tool integrations. Also resolves handling issues with RPCmodule.checkand non-Meterpreter interactive session reads and writes. - #21654 - Adds eight new MCP tools that wrap the existing RPC endpoints for module and session control, backed by strict per-tool input validation with an opt-in flag for dangerous actions. The dangerous actions can be enabled with
--enable-dangerous-actionson themsfmcpdCLI. - #21667 - Updates the
gogs_rebase_rcemodule with the vulnerability’s newly assigned CVE, CVE-2026-52806. Also adds support to the check method to detect the new patched version of the software. - #21697 - Adds explicit endianness to fetch multi payload query strings and encodes the fetch command in base64 for Python 3.8+ environments. Resolves architecture detection issues on ambiguous MIPS hosts and ensures correct ELF binary delivery.
Bugs Fixed (18)
- Pro: Fixes a bug when attempting to visit the global listeners page with no projects created.
- Pro: Updates Metasploit Pro to support the
ntlm_relay_2_selfmodule. - #21552 - Fixes
LHOSTvalidation rejecting tunnel hostnames when DNS lookup fails. - #21578 - Fixes a bug where
msfconsolecrashes with an unhandled exception when attempting to exit if the msf database is missing. - #21588 - Fixes a bug in the format dispatcher where generating AArch64 Windows exe files failed because the dispatcher did not properly handle the request.
- #21609 - Fixes an issue where payload option validation was delayed until after running
show options, ensuring options likeLHOSTandLPORTare validated immediately upon setting a payload or loading a module. - #21621 - Fixes a limitation on running fileless staged Meterpreter in recent macOS versions.
- #21647 - Updates the
ntlm_relay_2_selfmodule to automatically configure Resource-Based Constrained Delegation (RBCD) on the target machine account by setting itsmsDS-AllowedToActOnBehalfOfOtherIdentityattribute. This allows the computer account to perform self-delegation via S4U2Proxy without encountering KerberosKDC_ERR_BADOPTION (13)errors. - #21651 - Fixes a bug in the Role Based Constrained Delegation (RBCD) module that prevented Access Control Entries (ACEs) from being removed due to a type mismatch while comparing Security Identifiers (SIDs).
- #21659 - Improves port conflict handling for the MCP plugin by adding pre-flight availability checks, post-spawn verification, and proper state resets on failure. Prevents cryptic errors and inconsistent states when starting the MCP server on an occupied port, allowing immediate retries once resolved.
- #21661 - Fixes an issue with Ctrl+C handling in the MCP plugin.
- #21663 - Updates the error handling in the
auxiliary/admin/dcerpc/icpr_certmodule. - #21670 - Marks the dynamic XOR encoders as unable to preserve registers and adds regression coverage for stage encoding when a preserved register is required.
- #21677 - Fixes a bug in the HTTP relay server mixin where requests matching the module’s
URIPATHwere silently dropped instead of being relayed. Removes the now-unnecessaryURIPATHoption, ensures all requests are properly relayed, and adds spec tests to cover the fix. - #21699 - Fixes a
FrozenErrorissue when the DNS feature was enabled, which occurred when attempting to mutate frozen strings in place during DNS queries. Resolves loading failures in the MCP plugin and hostname resolution errors across commands liketo_handler. - #21701 - Fixes an issue where exploit error messages were captured by the job listener during execution but hidden from the console. Error details are now stored in a dedicated
fail_messageattribute, ensuring error outputs display properly in console output while remaining accessible to job listeners. - #21714 - Fixes typos in various module docs.
- #21718 - Fixes a crash when attempting to run VNC sessions from Metasploit.
- #21722 - Fixes a regression to again allow
0.0.0.0as a valid listenerLHOSTaddress.