Fehler in Apollo Router beeinträchtigt die korrekte Ausführung von Operationen
In den Versionen 1.44.0 und 1.45.0 des Open Source GraphQL Routers - Apollo Router wurde ein schwerwiegender Fehler entdeckt, der zu unerwarteten Operationen führen kann. Dies betrifft speziell Instanzen des Routers, die das verteilte Abfrageplan-Caching nutzen. Die Schwachstelle CVE-2024-32971 wurde in den im April 2024 veröffentlichten Versionen festgestellt und hat eine kritische Bewertung von 9,1/10 auf der CVSS-Skala erhalten.
Der Fehler führt dazu, dass statt der beabsichtigten Operationen modifizierte Versionen von bereits ausgeführten Operationen durchgeführt werden könnten. Zum Beispiel könnte statt der Anfrage fetchUsers(type: ENTERPRISE) die Anfrage fetchUsers(type: TRIAL) ausgeführt werden. Bei Mutationen könnte dies dazu führen, dass falsche Mutationen an untergeordnete Subgraph-Server gesendet werden.
Um das Problem zu beheben, empfiehlt Apollo die sofortige Aktualisierung auf die Version 1.45.1 oder das Downgrade auf Version 1.43.2 des Apollo Routers. Die Versionen 1.44.0 und 1.45.0 wurden aufgrund dieses Fehlers zurückgezogen. Nutzer, die die betroffenen Versionen in Produktionsumgebungen verwenden, sollten umgehend auf eine nicht betroffene Version umstellen.
Falls ein Upgrade oder Downgrade nicht sofort möglich ist, können Nutzer das verteilte Abfrageplan-Caching deaktivieren, indem sie die Konfiguration supergraph.query_planning.cache.redis.urls aus ihrer Konfigurationsdatei entfernen. Ohne dieses Feature wird jede Router-Instanz ihren eigenen im Speicher befindlichen Abfrageplan-Cache verwenden, was zu einer höheren Ressourcennutzung führen kann.