The vulnerability exists because the 3gpp-traffic-influence API endpoints were exposed without any authentication or authorization checks. The root cause lies in the internal/sbi/server.go file within the NewServer function, where the HTTP routes for traffic influence were mounted without the necessary OAuth2 middleware. This allowed unauthenticated network attackers to send requests directly to the business logic handlers in internal/sbi/processor/ti.go.
The vulnerable functions, PostTrafficInfluenceSubscription, GetIndividualTrafficInfluenceSubscription, PatchIndividualTrafficInfluenceSubscription, and DeleteIndividualTrafficInfluenceSubscription, which handle the CRUD operations for traffic influence subscriptions, were therefore completely unprotected. An attacker could create, read, update, and delete traffic steering policies, leading to traffic redirection, information disclosure, and denial of service.
The fix, identified in commit b16537cc7ffe779c15155fe5cd23b015e1404e80, introduces a middleware (RouterAuthorizationCheck) that performs an OAuth2 token check for all requests to the 3gpp-traffic-influence route group. The NewServer function was modified to apply this middleware, ensuring that only authenticated and authorized requests can reach the underlying handler functions.