jsonArrayContains è una funzione di filtro di GeoServer usata durante l'elaborazione delle query per verificare se un array JSON contiene un determinato valore. In pratica, aiuta a trasformare l'espressione di filtro di un client in una condizione adatta al database che può restringere i risultati della mappa o delle feature.
È importante perché le funzioni di filtro si trovano al confine tra input non attendibile e generazione delle query del backend. Se questo confine viene gestito in modo non sicuro, un attaccante potrebbe influenzare l'SQL risultante invece dei soli criteri di ricerca previsti. In attacchi reali, questo tipo di debolezza può portare a SQL injection quando un filtro costruito ad arte raggiunge il datastore senza un'adeguata convalida o parametrizzazione. Chi difende dovrebbe esaminare qualsiasi servizio che esponga query in stile OGC, limitare dove possibile l'accesso anonimo e considerare l'analisi dei filtri come parte del perimetro di fiducia dell'applicazione. Account del database con privilegi minimi e una gestione attenta dell'input riducono la probabilità che un bug di parsing si trasformi in una compromissione completa.


