VYPR
High severity7.5NVD Advisory· Published Apr 22, 2026· Updated Apr 23, 2026

CVE-2026-41135

CVE-2026-41135

Description

free5GC UDR is the Policy Control Function (PCF) for free5GC, an an open-source project for 5th generation (5G) mobile core networks. A memory leak vulnerability in versions prior to 1.4.3 allows any unauthenticated attacker with network access to the PCF SBI interface to cause uncontrolled memory growth by sending repeated HTTP requests to the OAM endpoint. The root cause is a router.Use() call inside an HTTP handler that registers a new CORS middleware on every incoming request, permanently growing the Gin router's handler chain. This leads to progressive memory exhaustion and eventual Denial of Service of the PCF, preventing all UEs from obtaining AM and SM policies and blocking 5G session establishment. Version 1.4.3 contains a patch.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
github.com/free5gc/pcfGo
< 1.4.31.4.3

Affected products

2
  • cpe:2.3:a:free5gc:free5gc:*:*:*:*:*:*:*:*
    Range: <=4.2.1
  • cpe:2.3:a:free5gc:pcf:*:*:*:*:*:*:*:*
    Range: <1.4.3

Patches

1
599803b1b2eb

fix(pcf): add missing auth middleware to smPolicyGroup and uePolicyGroup

https://github.com/free5gc/pcfsolar224Mar 5, 2026via nvd-ref
1 file changed · +8 0
  • internal/sbi/server.go+8 0 modified
    @@ -72,6 +72,10 @@ func NewServer(pcf pcf, tlsKeyLogPath string) (*Server, error) {
     
     	smPolicyRoutes := s.getSmPolicyRoutes()
     	smPolicyGroup := s.router.Group(factory.PcfSMpolicyCtlResUriPrefix)
    +	smRouterAuthorizationCheck := util.NewRouterAuthorizationCheck(models.ServiceName_NPCF_SMPOLICYCONTROL)
    +	smPolicyGroup.Use(func(c *gin.Context) {
    +		smRouterAuthorizationCheck.Check(c, s.Context())
    +	})
     	applyRoutes(smPolicyGroup, smPolicyRoutes)
     
     	amPolicyRoutes := s.getAmPolicyRoutes()
    @@ -113,6 +117,10 @@ func NewServer(pcf pcf, tlsKeyLogPath string) (*Server, error) {
     
     	uePolicyRoutes := s.getUePolicyRoutes()
     	uePolicyGroup := s.router.Group(factory.PcfUePolicyCtlResUriPrefix)
    +	uePolicyRouterAuthorizationCheck := util.NewRouterAuthorizationCheck(models.ServiceName_NPCF_UE_POLICY_CONTROL)
    +	uePolicyGroup.Use(func(c *gin.Context) {
    +		uePolicyRouterAuthorizationCheck.Check(c, s.Context())
    +	})
     	applyRoutes(uePolicyGroup, uePolicyRoutes)
     
     	cfg := s.Config()
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

4

News mentions

0

No linked articles in our index yet.