A Semantic Attack on Google Gemini - Read the Latest Research
The analysis of the provided security patch (commit 66fc727a894fa821fde14030346b18de69192204) clearly indicates the source of the vulnerability. The patch is located in the internal/sbi/processor/nssaiavailability_subscription.go file and modifies the NssaiAvailabilitySubscriptionCreate function. The change from if !subscription.SubscriptionData.Expiry.IsZero() to if subscription.SubscriptionData.Expiry != nil && !subscription.SubscriptionData.Expiry.IsZero() directly addresses the nil pointer dereference. This occurs when the Expiry field is not present in the NSSAIAvailability POST request, leading to a nil value for subscription.SubscriptionData.Expiry. The original code would then attempt to call IsZero() on a nil pointer, causing the NSSF to panic. Therefore, the Processor.NssaiAvailabilitySubscriptionCreate function is the vulnerable function that would appear in a runtime profile during exploitation.
Processor.NssaiAvailabilitySubscriptionCreateinternal/sbi/processor/nssaiavailability_subscription.go
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| github.com/free5gc/nssf | go | < 1.4.0 | 1.4.0 |