如何繞過dgrijalva/jwt go中的cve-2020-26160漏洞
go jwt jwt-go
由于存在一個高級漏洞,Gitlab管道中無法傳遞容器安全狀態。此漏洞為jwt-go,安裝的版本為v3.2.0+incompatible。錯誤標題如下:jwt-go: access restriction bypass vulnerability–>avd.aquasec.com/nvd/cve-2020-26160。相關回購協議的Go版本為1.16.3。如何修復此漏洞?
CVE-2020-26160漏洞是由于dgrijalva/jwt-go錯誤地將JWTaud字段建模為string,而基于JWT規范,它應該是字符串的一部分。
在一般情況下,“aud”值是case-sensitive字符串的數組
你自己不能繞過它,因為它是庫中的一個bug:https://github.com/dgrijalva/jwt-go/issues/428
切換到官方社區分支golang-jwt/jwt,其v3.2.1修復了漏洞:https://github.com/golang-jwt/jwt/releases/tag/v3.2.1
導入路徑更改:有關更新代碼的提示,請參見MIGRATION_GUIDE.md,將導入路徑從github.com/dgrijalva/jwt-go
更改為github.com/golang-jwt/jwt
修復了VerifyAudience(#12)中字符串和[]字符串之間的類型混淆問題。這修復了CVE-2020-26160
原文連接: https://www.5axxw.com/questions/content/o849sj
文檔地址: https://docs.gofiber.io/
helloworld
package mainimport "github.com/gofiber/fiber/v2"func main() {app := fiber.New()app.Get("/", func(c *fiber.Ctx) error {return c.SendString("Hello, World!")})app.Listen(":3000")
}
其他案例
- fiber-demo
原文連接: https://victorfengming.gitee.io/golang/fiber/jwt-bug/