Metasploit Pro Version 5.1.0-2026073001 Release Notes
Copy link

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)
Copy link

  • #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:create permission 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.json endpoint 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’s mod_cgi .htaccess web 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 ~/.zshenv with root privileges. The module plants a payload in ~/.zshenv that 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.import task 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 the tmp/ 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)
Copy link

  • 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/none or encoder/eicar encoder was selected, which may not be what the user intended.
  • #21728  - Adds support for a new MALLEABLEC2 option 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_tcp and bind_tcp stagers 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/proto to 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::Ftp mixin to improve target fingerprinting. Now leverages recog to fingerprint targets from their banners and adds ftp_fingerprint and ftp_list_directory methods to assist with target enumeration.
  • #21436  - Improves UX for reloading of library files.
  • #21575  - Improves scanner/ftp/ftp_version to 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_info tool now has resource and parents fields, the msf_vulnerability_info tool now has a resource field, the msf_note_info tool now has a data field, and the msf_credential_info tool now has new realm_key and realm_value fields.
  • #21580  - Adds a Certificate Signing Request (CSR) trace to the CertificateTrace functionality. Users can now opt to see the CSR printed when requesting certificates from AD CS.
  • #21599  - Extends CertificateTrace functionality to also surface the server’s TLS peer certificate when an HTTP module connects over HTTPS. Makes use of the same CertificateTrace enum (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 CertificateTrace peer cert tracing to support LDAP over TLS and RDP. No new operator-facing option — operators use the existing CertificateTrace enum (off/metadata/full).
  • #21608  - Adds CertificateTrace peer cert tracing to PostgreSQL over TLS, and fixes a long-standing gap where the Postgres mixin accepted an SSL datastore 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 KerberosTicketTrace functionality. 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_uuid across all module types when executed through RPC endpoints to support Model Context Protocol (MCP) tool integrations. Also resolves handling issues with RPC module.check and 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-actions on the msfmcpd CLI.
  • #21667  - Updates the gogs_rebase_rce module 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)
Copy link

  • 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_self module.
  • #21552  - Fixes LHOST validation rejecting tunnel hostnames when DNS lookup fails.
  • #21578  - Fixes a bug where msfconsole crashes 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 like LHOST and LPORT are 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_self module to automatically configure Resource-Based Constrained Delegation (RBCD) on the target machine account by setting its msDS-AllowedToActOnBehalfOfOtherIdentity attribute. This allows the computer account to perform self-delegation via S4U2Proxy without encountering Kerberos KDC_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_cert module.
  • #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 URIPATH were silently dropped instead of being relayed. Removes the now-unnecessary URIPATH option, ensures all requests are properly relayed, and adds spec tests to cover the fix.
  • #21699  - Fixes a FrozenError issue 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 like to_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_message attribute, 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.0 as a valid listener LHOST address.

Offline Update
Copy link

Metasploit Framework and Pro Installers
Copy link