CVE-2026-49473
Açıklama
@cedar-policy/authorization-for-expressjs, Cedar yetkilendirmesini Express uygulamalarına entegre eden, HTTP isteklerini Cedar eylemlerine eşleyen ve isteklerin ilerlemesine izin vermeden önce yetkilendirme politikalarını değerlendiren açık kaynaklı bir Express.js ara katman yazılımıdır. 0.3.0 öncesi sürümlerde, belirli koşullar altında ara katman yazılımının gelen istekleri Cedar eylem eşlemeleriyle req.originalUrl kullanarak eşleştirdiği, bunun sorgu dizesini içerdiği, Express'in ise istekleri yalnızca yol bileşenini kullanarak yönlendirdiği bir sorun bulunmaktadır. Ara katman yazılımı, gelen istekleri Cedar eylem eşlemeleriyle eşleştirmek için req.originalUrl kullanır. Express'te req.originalUrl sorgu dizesini içerirken, rota eşleştirme yalnızca yolu kullanır. Bu, Cedar'ın yetkilendirdiği şey ile Express'in yürüttüğü şey arasında bir farklılık yaratır. Bir uygulama, farklı yetkilendirme gereksinimleriyle örtüşen yol önekleri için ayrı eylemler tanımladığında (örneğin, tüm kullanıcıları yalnızca yönetici erişimiyle listelemek için GET /users ve tek bir kullanıcıyı kimliği doğrulanmış herhangi bir kullanıcı erişimiyle almak için GET /users/{id}), bir aktör daha kısıtlayıcı politikayı atlatmak için sorgu dizesi ekleyebilir. GET /users/?x=1 gönderilmesi, ara katman yazılımının /users/{id} ile eşleşmesine (id parametresi ?x=1 olarak ayarlanmış) ve daha az kısıtlayıcı eylemi değerlendirmesine neden olurken, Express isteği /users liste işleyicisine yönlendirir. Bu, daha kısıtlayıcı uç noktaya uygun olmayan erişime izin verir. Bu sorun 0.30 sürümünde ele alınmıştır. Bazı geçici çözümler mevcuttur. Gelen istek yollarını yetkilendirme ara katman yazılımına ulaşmadan önce doğrulayın ve temizleyin. Uygulamaların, farklı izin düzeyleriyle örtüşen yol önekleri üzerinde birden çok eylem tanımlarken yetkilendirme için yalnızca ara katman yazılımına güvenmemesini sağlayın.
Nasıl düzeltilir
- @cedar-policy/authorization-for-expressjs0.3.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| @cedar-policy/authorization-for-expressjsnpm | v < 0.3.0 | 0.3.0 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.