Search

Find a vulnerability

Search criteria ⓘ Use this form to refine search results.
Full-text search supports keyword queries with ranking and filtering.
You can combine vendor, product, and sources to narrow results.
Enable “Apply ordering” to sort by date instead of relevance.

    32 vulnerabilities by GitroomHQ

    CVE-2026-94456 (GCVE-0-2026-94456)

    Vulnerability from nvd – Published: 2026-09-22 16:11 – Updated: 2026-09-22 18:11
    VLAI
    Title
    Unauthenticated recovery of the Math.random() state behind OAuth tokens, authorization codes, client secrets and organization API keys
    Summary
    Postiz generates security-sensitive credentials using `Math.random()` instead of a cryptographically secure source. The same helper is used for OAuth access tokens, authorization codes, client secrets, organization API keys, and PKCE verifiers, meaning these credentials depend entirely on V8’s deterministic xorshift128+ PRNG state. An unauthenticated OAuth dynamic client registration endpoint exposes freshly generated client credentials, giving attackers enough consecutive PRNG output to reconstruct that internal state. Once recovered, they can deterministically derive past and future values produced by the same generator, potentially compromising credentials belonging to other users and organizations.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-22 18:10 UTC
    Impacted products
    Vendor Product Version
    GitroomHQ postiz-app Affected: 0 , < 2.4.0 (semver)
    Create a notification for this product.
    Date Public
    2026-09-22 14:17
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-94456",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-22T18:10:57.774548Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-22T18:11:17.502Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageName": "postiz-app",
              "product": "postiz-app",
              "repo": "https://github.com/gitroomhq/postiz-app",
              "vendor": "GitroomHQ",
              "versions": [
                {
                  "lessThan": "2.4.0",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "value": "All deployments running the released code up to and including v2.23.0 are affected, self-hosted and hosted alike. The identifier helper is shared code reached by every credential-minting path, and there is no feature flag, environment variable or build option that selects a different random source."
            },
            {
              "lang": "en",
              "value": "The anonymous sampling surface, the OAuth dynamic client registration endpoint, is registered in both the default controller set and the MCP_ONLY controller set, so it is reachable in either deployment mode."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Santosh Kumar Puppala"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Enno Gelhaus"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Nevo David"
            }
          ],
          "datePublic": "2026-09-22T14:17:43.125Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz generates security-sensitive credentials using `Math.random()` instead of a cryptographically secure source. The same helper is used for OAuth access tokens, authorization codes, client secrets, organization API keys, and PKCE verifiers, meaning these credentials depend entirely on V8\u2019s deterministic xorshift128+ PRNG state.\n\nAn unauthenticated OAuth dynamic client registration endpoint exposes freshly generated client credentials, giving attackers enough consecutive PRNG output to reconstruct that internal state. Once recovered, they can deterministically derive past and future values produced by the same generator, potentially compromising credentials belonging to other users and organizations."
            }
          ],
          "exploits": [
            {
              "lang": "en",
              "value": "No public exploit code is known. The original submission was methodology-only and deliberately omitted a working implementation."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-59",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "An unauthenticated attacker who predicts an OAuth access token minted for another organization is authenticated as that organization with SUPERADMIN rights over the public API, giving full read and write access to its scheduled posts, connected social accounts, media and team membership."
                }
              ]
            },
            {
              "capecId": "CAPEC-59",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "The per-organization API key generated at registration is drawn from the same generator and is honoured by the same middleware with the same SUPERADMIN grant, so an attacker sampling the generator around a signup can predict the API key of a newly created organization."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "OAuth client secrets, including those returned by anonymous dynamic client registration and by secret rotation, are predictable, allowing an attacker to impersonate a registered OAuth or MCP client to the token endpoint."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Authorization codes issued at the consent step are predictable, exposing in-flight OAuth authorization flows to interception and redemption by a third party."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "PKCE code verifiers generated for social account connections are predictable, removing the protection PKCE is present to provide for those provider flows."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 9.1,
                "baseSeverity": "CRITICAL",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
                "version": "3.1"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-338",
                  "description": "CWE-338",
                  "lang": "en",
                  "type": "CWE"
                },
                {
                  "cweId": "CWE-330",
                  "description": "CWE-330",
                  "lang": "en",
                  "type": "CWE"
                },
                {
                  "cweId": "CWE-341",
                  "description": "CWE-341",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-22T16:16:23.351Z",
            "orgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
            "shortName": "postiz"
          },
          "references": [
            {
              "name": "Postiz",
              "tags": [
                "product"
              ],
              "url": "https://github.com/gitroomhq/postiz-app"
            },
            {
              "name": "v2.24.0",
              "tags": [
                "release-notes"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.24.0"
            },
            {
              "name": "9259cf24",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/9259cf2429e8cc0c88414e88d5e6c783d7ffba63"
            },
            {
              "name": "GAdvisory",
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-TD98KY"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "value": "Run a Postiz release in which security-sensitive identifiers are generated from a cryptographically secure random source rather than from Math.random(). No fixed release is available at the time of writing; this advisory will record the fixed version once one is published."
            },
            {
              "lang": "en",
              "value": "Once running a release with a corrected generator, treat every credential issued by an affected version as compromised and replace it. That covers organization API keys, OAuth application client secrets, and any outstanding OAuth access tokens and authorizations. Outstanding authorization codes are short-lived and expire on their own."
            },
            {
              "lang": "en",
              "value": "Operators who connected social accounts while running an affected version should review those connections, since the PKCE verifiers used to establish them were drawn from the same generator."
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-09-21T13:34:00.000Z",
              "value": "Postiz has received and acknowledged the report."
            },
            {
              "lang": "en",
              "time": "2026-09-21T20:15:00.000Z",
              "value": "Postiz has verified the report."
            },
            {
              "lang": "en",
              "time": "2026-09-22T04:32:00.000Z",
              "value": "Postiz has developed and verified the patch."
            },
            {
              "lang": "en",
              "time": "2026-09-22T14:17:00.000Z",
              "value": "Postiz has released the patch notes and published the advisory."
            }
          ],
          "title": "Unauthenticated recovery of the Math.random() state behind OAuth tokens, authorization codes, client secrets and organization API keys",
          "workarounds": [
            {
              "lang": "en",
              "value": "Blocking or requiring authentication on the OAuth dynamic client registration endpoint at a reverse proxy, gateway or WAF removes the anonymous bulk-sampling surface, which is the part of this issue reachable without an account. It does not make the generated values unpredictable, and it does not close the surfaces available to an authenticated user, so it narrows exposure rather than resolving it. Deployments that do not use OAuth or MCP client integrations can apply this with no loss of function."
            },
            {
              "lang": "en",
              "value": "Rotating organization API keys or OAuth client secrets while still running an affected version does not help, and should not be relied on as a mitigation. The replacement value is produced by the same generator and is predictable on the same terms as the value it replaces. Rotation is only meaningful once the generator itself no longer draws from Math.random()."
            },
            {
              "lang": "en",
              "value": "Where the deployment allows it, restricting the public API to known client networks limits who can present a predicted credential. This is a containment measure for the consequence rather than a fix for the predictability."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
        "assignerShortName": "postiz",
        "cveId": "CVE-2026-94456",
        "datePublished": "2026-09-22T16:11:33.674Z",
        "dateReserved": "2026-09-21T17:11:13.201Z",
        "dateUpdated": "2026-09-22T18:11:17.502Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-94455 (GCVE-0-2026-94455)

    Vulnerability from nvd – Published: 2026-09-22 16:17 – Updated: 2026-09-22 18:14
    VLAI
    Title
    Unauthenticated /enterprise/create-user mints lifetime top-tier organizations and discloses their API key
    Summary
    An HTTP endpoint intended for provisioning enterprise and reseller organisations is reachable without any session. The authentication middleware is bound only to an explicit list of controllers, and the enterprise controller is not on that list, so no authentication runs for these routes. The endpoint's only check is that the request body carries a token bearing a valid signature from the instance secret. It does not check what that token was issued for. Login tokens are signed with the same secret and carry no purpose, audience or expiry claim, so an ordinary user's own session token satisfies the check. Presented with such a token, the endpoint creates a new organisation holding the highest subscription tier, flagged as lifetime and with a channel allowance far above any sold plan, creates an organisation-owner account alongside it, and returns the new organisation's API key in the response body. That key is immediately valid against the public API.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-22 18:13 UTC
    Impacted products
    Vendor Product Version
    GitroomHQ postiz-app Affected: 0 , < 2.4.0 (semver)
    Create a notification for this product.
    Date Public
    2026-09-22 14:36
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-94455",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-22T18:13:58.426768Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-22T18:14:13.947Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageName": "postiz-app",
              "product": "postiz-app",
              "repo": "https://github.com/gitroomhq/postiz-app",
              "vendor": "GitroomHQ",
              "versions": [
                {
                  "lessThan": "2.4.0",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "value": "You are affected if your deployment has billing enabled, that is if STRIPE_PUBLISHABLE_KEY or STRIPE_SECRET_KEY is set. This covers the hosted Postiz service and any self-hoster running Postiz commercially."
            },
            {
              "lang": "en",
              "value": "You are not meaningfully affected if you run a default self-hosted instance with no Stripe configuration. In that mode Postiz does not enforce subscription entitlements at all, so an organisation created through this endpoint holds no privileges your users do not already have."
            },
            {
              "lang": "en",
              "value": "Exposure is wider if self-registration is open, that is if DISABLE_REGISTRATION is unset or not set to \u0027true\u0027, because anyone on the internet can then obtain the account needed. With registration closed, the issue is reachable only by people who already hold an account on your instance."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Santosh Kumar Puppala"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Enno Gelhaus"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Nevo David"
            }
          ],
          "datePublic": "2026-09-22T14:36:13.452Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "An HTTP endpoint intended for provisioning enterprise and reseller organisations is reachable without any session. The authentication middleware is bound only to an explicit list of controllers, and the enterprise controller is not on that list, so no authentication runs for these routes.\n\nThe endpoint\u0027s only check is that the request body carries a token bearing a valid signature from the instance secret. It does not check what that token was issued for. Login tokens are signed with the same secret and carry no purpose, audience or expiry claim, so an ordinary user\u0027s own session token satisfies the check.\n\nPresented with such a token, the endpoint creates a new organisation holding the highest subscription tier, flagged as lifetime and with a channel allowance far above any sold plan, creates an organisation-owner account alongside it, and returns the new organisation\u0027s API key in the response body. That key is immediately valid against the public API."
            }
          ],
          "exploits": [
            {
              "lang": "en",
              "value": "1. Register an ordinary account on the target instance and capture that account\u0027s own login JWT."
            },
            {
              "lang": "en",
              "value": "2. POST /api/enterprise/create-user with body {\"params\": \"\u003cthat login JWT, verbatim\u003e\"}."
            },
            {
              "lang": "en",
              "value": "3. The response is 200 with {\"id\": \"\u003cnew organisation id\u003e\", \"apiKey\": \"\u003ckey\u003e\"}."
            },
            {
              "lang": "en",
              "value": "4. Confirm the new organisation carries subscriptionTier=ULTIMATE, isLifetime=true and totalChannels=1000000, and that it is distinct from the caller\u0027s own registration organisation."
            },
            {
              "lang": "en",
              "value": "5. Send the returned apiKey as the Authorization header against a public API endpoint and confirm 200, versus 401 for an invalid key."
            },
            {
              "lang": "en",
              "value": "Controls: an absent token, a malformed token, and a token with a valid-looking payload but a wrong signature all fail with no organisation created, confirming signature verification is the only gate."
            }
          ],
          "impacts": [
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Billing-integrity bypass. Any registered user can provision an organisation at the highest subscription tier, flagged as lifetime, with a channel allowance of 1,000,000 against the 100 provisioned for a genuine paying customer at that same tier."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Recurring unmetered resource consumption. The per-organisation AI allowance (500 image generations, 60 video generations, 600 clipping minutes) refills on a rolling monthly window, and the lifetime flag exempts the organisation from subscription reconciliation, so each provisioned organisation is an indefinite draw on the operator\u0027s model and GPU budget rather than a one-off."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Disclosure of a usable organisation API key in the response body, valid immediately against the public API without an interactive session."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "No confidentiality impact on existing tenants. The provisioned organisation is empty; no other organisation\u0027s channels, posts, media or account data become reachable."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7.1,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L",
                "version": "3.1"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-306",
                  "description": "CWE-306",
                  "lang": "en",
                  "type": "CWE"
                },
                {
                  "cweId": "CWE-1390",
                  "description": "CWE-1390",
                  "lang": "en",
                  "type": "CWE"
                },
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345",
                  "lang": "en",
                  "type": "CWE"
                },
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-22T16:17:00.413Z",
            "orgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
            "shortName": "postiz"
          },
          "references": [
            {
              "name": "Postiz",
              "tags": [
                "product"
              ],
              "url": "https://github.com/gitroomhq/postiz-app"
            },
            {
              "name": "v2.24.0",
              "tags": [
                "release-notes"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.24.0"
            },
            {
              "name": "9259cf2",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/9259cf2429e8cc0c88414e88d5e6c783d7ffba63"
            },
            {
              "name": "GAdvisory",
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-P8W1J0"
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-09-21T13:34:00.000Z",
              "value": "Postiz has received and acknowledged the report."
            },
            {
              "lang": "en",
              "time": "2026-09-21T20:15:00.000Z",
              "value": "Postiz has verified the report."
            },
            {
              "lang": "en",
              "time": "2026-09-22T04:32:00.000Z",
              "value": "Postiz has developed and verified the patch."
            },
            {
              "lang": "en",
              "time": "2026-09-22T14:17:00.000Z",
              "value": "Postiz has released the patch notes and published the advisory."
            }
          ],
          "title": "Unauthenticated /enterprise/create-user mints lifetime top-tier organizations and discloses their API key",
          "workarounds": [
            {
              "lang": "en",
              "value": "Block POST /enterprise/create-user, and preferably all of /enterprise/*, at your reverse proxy, ingress or WAF. If you do not use Postiz\u0027s enterprise or reseller provisioning integration, nothing legitimate calls these routes, so blocking them has no user-visible effect."
            },
            {
              "lang": "en",
              "value": "Set DISABLE_REGISTRATION=true. The caller needs an ordinary account on your instance to obtain a usable token, so closing self-registration limits exposure to people who already have one. This reduces reach, it does not close the issue."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
        "assignerShortName": "postiz",
        "cveId": "CVE-2026-94455",
        "datePublished": "2026-09-22T16:17:00.413Z",
        "dateReserved": "2026-09-21T17:10:50.156Z",
        "dateUpdated": "2026-09-22T18:14:13.947Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-19264 (GCVE-0-2026-19264)

    Vulnerability from nvd – Published: 2026-08-07 14:15 – Updated: 2026-08-24 11:15
    VLAI
    Title
    Unauthenticated arbitrary file read via /uploads path traversal (URL-encoded separators) leading to instance takeover
    Summary
    Postiz is an open-source social media scheduling tool. The route that serves locally stored media joins URL-supplied path segments onto the upload directory and streams the file without normalising the path or confining it to that directory, and the route requires no authentication. Raw dot-segments are collapsed before routing, but URL-encoded separators survive route matching and are decoded only once they reach the handler, restoring the traversal at the filesystem call. An unauthenticated remote attacker can therefore read any file readable by the application process, including the process environment, which exposes the JWT signing secret, the database connection string, and connected provider and billing secrets. Because session tokens are signed with that secret and carry no expiry, this allows forging a non-expiring session as any user, including an administrator, without a password.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-07 17:54 UTC
    CWE
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: 0 , < 2.22.1 (custom)
    Create a notification for this product.
    Date Public
    2026-08-07 14:14
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-19264",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-07T17:54:32.053150Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-07T17:54:47.917Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageName": "postiz-app",
              "product": "postiz-app",
              "repo": "https://github.com/gitroomhq/postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "lessThan": "2.22.1",
                  "status": "affected",
                  "version": "0",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "value": "Exploitation requires the environment variable STORAGE_PROVIDER to be set to \u0027local\u0027, which is the default value shipped in .env.example. On any other storage backend the /uploads route is rewritten to /404 and the vulnerable handler is unreachable."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "KRITHIK BABU P"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Enno Gelhaus"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Nevo David"
            }
          ],
          "dateAssigned": "2026-08-07T14:13:00.000Z",
          "datePublic": "2026-08-07T14:14:58.259Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an open-source social media scheduling tool. The route that serves locally stored media joins URL-supplied path segments onto the upload directory and streams the file without normalising the path or confining it to that directory, and the route requires no authentication. Raw dot-segments are collapsed before routing, but URL-encoded separators survive route matching and are decoded only once they reach the handler, restoring the traversal at the filesystem call. An unauthenticated remote attacker can therefore read any file readable by the application process, including the process environment, which exposes the JWT signing secret, the database connection string, and connected provider and billing secrets. Because session tokens are signed with that secret and carry no expiry, this allows forging a non-expiring session as any user, including an administrator, without a password."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 9.8,
                "baseSeverity": "CRITICAL",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "format": "CVSS"
            },
            {
              "cvssV4_0": {
                "baseScore": 9.3,
                "baseSeverity": "CRITICAL",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-22",
                  "description": "CWE-22",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-24T11:15:08.324Z",
            "orgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
            "shortName": "postiz"
          },
          "references": [
            {
              "name": "7936062",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/7936062"
            },
            {
              "name": "v2.22.1",
              "tags": [
                "release-notes"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.22.1"
            },
            {
              "name": "GAdvisory",
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-TH12B7"
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-07-20T05:55:00.000Z",
              "value": "Postiz has received the advisory."
            },
            {
              "lang": "en",
              "time": "2026-07-20T07:44:00.000Z",
              "value": "Postiz has acknowledged and verified the advisory."
            },
            {
              "lang": "en",
              "time": "2026-07-20T12:18:00.000Z",
              "value": "Postiz has published a fix for this advisory, and verified that it works."
            },
            {
              "lang": "en",
              "time": "2026-08-07T14:13:00.000Z",
              "value": "Postiz has issued CVE-2026-19264 for this advisory."
            }
          ],
          "title": "Unauthenticated arbitrary file read via /uploads path traversal (URL-encoded separators) leading to instance takeover"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
        "assignerShortName": "postiz",
        "cveId": "CVE-2026-19264",
        "datePublished": "2026-08-07T14:15:15.123Z",
        "dateReserved": "2026-08-07T14:09:09.890Z",
        "dateUpdated": "2026-08-24T11:15:08.324Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-19127 (GCVE-0-2026-19127)

    Vulnerability from nvd – Published: 2026-08-06 17:02 – Updated: 2026-08-07 14:03
    VLAI
    Title
    Insufficient verification of lifetime-deal redemption codes allows forgery of permanent paid subscriptions
    Summary
    An issue in the billing and license activation subsystem allows remote attackers to bypass payment authorization workflows. By exploiting insufficient cryptographic validation or lack of server-side state verification on promotional/lifetime-deal (LTD) redemption codes, an unauthenticated attacker can forge valid redemption tokens or replay existing single-use codes to activate permanent, tier-highest paid subscriptions without a financial transaction.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-07 14:02 UTC
    CWE
    Impacted products
    Vendor Product Version
    GitroomHQ postiz-app Affected: 0 , < 2.21.10 (semver)
    Create a notification for this product.
    Date Public
    2026-06-22 13:46
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-19127",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-07T14:02:58.803040Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-07T14:03:32.512Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageName": "postiz-app",
              "product": "postiz-app",
              "vendor": "GitroomHQ",
              "versions": [
                {
                  "lessThan": "2.21.10",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "value": "Stripe has to be configured for this to apply."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Enno Gelhaus"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Enno Gelhaus"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Nevo David"
            }
          ],
          "dateAssigned": "2026-08-06T16:04:00.000Z",
          "datePublic": "2026-06-22T13:46:51.287Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "An issue in the billing and license activation subsystem allows remote attackers to bypass payment authorization workflows. By exploiting insufficient cryptographic validation or lack of server-side state verification on promotional/lifetime-deal (LTD) redemption codes, an unauthenticated attacker can forge valid redemption tokens or replay existing single-use codes to activate permanent, tier-highest paid subscriptions without a financial transaction."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
                "version": "3.1"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-07T10:47:07.050Z",
            "orgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
            "shortName": "postiz"
          },
          "references": [
            {
              "name": "387d85d",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/387d85dabe0223cd930714c19072a0aee58541ca"
            },
            {
              "name": "v2.21.10",
              "tags": [
                "release-notes"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.10"
            },
            {
              "name": "GAdvisory",
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-NWZN9J"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "value": "No solution other than upgrading to v2.21.10 is currently known."
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-06-21T18:00:00.000Z",
              "value": "Postiz has discovered the vulnerability."
            },
            {
              "lang": "en",
              "time": "2026-06-22T13:20:00.000Z",
              "value": "Postiz has developed and verified the fix."
            },
            {
              "lang": "en",
              "time": "2026-06-22T13:44:00.000Z",
              "value": "Postiz has created the release and published the advisory."
            },
            {
              "lang": "en",
              "time": "2026-08-06T16:04:00.000Z",
              "value": "Postiz has assigned CVE-2026-19127 for this advisory."
            }
          ],
          "title": "Insufficient verification of lifetime-deal redemption codes allows forgery of permanent paid subscriptions",
          "workarounds": [
            {
              "lang": "en",
              "value": "No workaround other than upgrading to v2.21.10 is currently known."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
        "assignerShortName": "postiz",
        "cveId": "CVE-2026-19127",
        "datePublished": "2026-08-06T17:02:44.054Z",
        "dateReserved": "2026-08-06T15:49:22.192Z",
        "dateUpdated": "2026-08-07T14:03:32.512Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-48799 (GCVE-0-2026-48799)

    Vulnerability from nvd – Published: 2026-07-15 16:11 – Updated: 2026-07-15 18:01
    VLAI
    Title
    Postiz: Unauthenticated arbitrary lifetime PRO grant via Nowpayments webhook
    Summary
    Postiz is an AI social media scheduling tool. Prior to 2.21.8, Postiz fails to verify Nowpayments IPN callback authenticity against the payment provider shared secret and reads the target subscription identifier from the untrusted request body, allowing a low-privileged account to grant arbitrary organizations lifetime PRO subscriptions without payment. This issue is fixed in version 2.21.8.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-15 18:01 UTC
    CWE
    • CWE-345 - Insufficient Verification of Data Authenticity
    • CWE-639 - Authorization Bypass Through User-Controlled Key
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.8
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-48799",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-15T18:01:37.750762Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-15T18:01:49.289Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.8"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to 2.21.8, Postiz fails to verify Nowpayments IPN callback authenticity against the payment provider shared secret and reads the target subscription identifier from the untrusted request body, allowing a low-privileged account to grant arbitrary organizations lifetime PRO subscriptions without payment. This issue is fixed in version 2.21.8."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 7.7,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345: Insufficient Verification of Data Authenticity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-639",
                  "description": "CWE-639: Authorization Bypass Through User-Controlled Key",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-15T16:11:24.967Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-j7rp-5mgj-qgg9",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-j7rp-5mgj-qgg9"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05"
            },
            {
              "name": "https://gadvisory.org/advisories/PSA-2026-Q3TCPK",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-Q3TCPK"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8"
            }
          ],
          "source": {
            "advisory": "GHSA-j7rp-5mgj-qgg9",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: Unauthenticated arbitrary lifetime PRO grant via Nowpayments webhook"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-48799",
        "datePublished": "2026-07-15T16:11:24.967Z",
        "dateReserved": "2026-05-22T20:18:20.366Z",
        "dateUpdated": "2026-07-15T18:01:49.289Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-48783 (GCVE-0-2026-48783)

    Vulnerability from nvd – Published: 2026-06-16 21:38 – Updated: 2026-06-17 12:43
    VLAI
    Title
    Postiz has an unauthenticated billing-enforcement bypass via /public/modify-subscription
    Summary
    Postiz is an AI social media scheduling tool. Versions prior to 2.21.8 contained an unauthenticated endpoint that accepted a signed token and applied subscription-enforcement side effects to the organization referenced in that token's claims, without verifying the token's intended purpose. The endpoint, /public/modify-subscription, could not change the persisted subscription tier, but it did execute enforcement-related side effects on the caller's own organization, including adjusting team-member enablement state, disabling integrations exceeding the asserted plan's limits, and resetting the scheduled-post cron when the asserted plan was the free tier. Impact is limited to the attacker's own organization and cannot be redirected at other tenants through this endpoint. This issue has been fixed in version 2.21.8.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-06-17 12:43 UTC
    CWE
    • CWE-345 - Insufficient Verification of Data Authenticity
    • CWE-639 - Authorization Bypass Through User-Controlled Key
    • CWE-749 - Exposed Dangerous Method or Function
    • CWE-862 - Missing Authorization
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.8
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-48783",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-06-17T12:43:27.137971Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-06-17T12:43:39.751Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.8"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Versions prior to 2.21.8 contained an unauthenticated endpoint that accepted a signed token and applied subscription-enforcement side effects to the organization referenced in that token\u0027s claims, without verifying the token\u0027s intended purpose. The endpoint, /public/modify-subscription, could not change the persisted subscription tier, but it did execute enforcement-related side effects on the caller\u0027s own organization, including adjusting team-member enablement state, disabling integrations exceeding the asserted plan\u0027s limits, and resetting the scheduled-post cron when the asserted plan was the free tier. Impact is limited to the attacker\u0027s own organization and cannot be redirected at other tenants through this endpoint. This issue has been fixed in version 2.21.8."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "LOW",
                "baseScore": 4.8,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345: Insufficient Verification of Data Authenticity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-639",
                  "description": "CWE-639: Authorization Bypass Through User-Controlled Key",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-749",
                  "description": "CWE-749: Exposed Dangerous Method or Function",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-862",
                  "description": "CWE-862: Missing Authorization",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-06-16T21:38:00.674Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-v4wr-4j8g-4hfj",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-v4wr-4j8g-4hfj"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05"
            },
            {
              "name": "https://gadvisory.org/advisories/PSA-2026-WWFR8X",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-WWFR8X"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8"
            }
          ],
          "source": {
            "advisory": "GHSA-v4wr-4j8g-4hfj",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz has an unauthenticated billing-enforcement bypass via /public/modify-subscription"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-48783",
        "datePublished": "2026-06-16T21:38:00.674Z",
        "dateReserved": "2026-05-22T20:18:20.365Z",
        "dateUpdated": "2026-06-17T12:43:39.751Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-48781 (GCVE-0-2026-48781)

    Vulnerability from nvd – Published: 2026-06-16 21:31 – Updated: 2026-06-18 14:26
    VLAI
    Title
    Postiz has cross-tenant SUPERADMIN takeover via Skool-provider JWT forgery
    Summary
    Postiz is an AI social media scheduling tool. In versions prior to 2.21.8, the Skool integration callback signed an attacker-controlled JSON blob into a session-shape JWT using the application's JWT_SECRET, and the auth middleware trusted every claim in that JWT without re-resolving the user from the database. Any authenticated Postiz user could forge a SUPERADMIN session and impersonate arbitrary organizations. This allowed Full Access to the following: all parts of Postiz, including users registered to the specific instance and the ability to post in the name of the victim's social media channels added to that Postiz instance. This issue has been fixed in version 2.21.8.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-06-18 14:25 UTC
    CWE
    • CWE-302 - Authentication Bypass by Assumed-Immutable Data
    • CWE-345 - Insufficient Verification of Data Authenticity
    • CWE-863 - Incorrect Authorization
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.8
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-48781",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-06-18T14:25:47.270443Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-06-18T14:26:17.633Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.8"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. In versions prior to 2.21.8, the Skool integration callback signed an attacker-controlled JSON blob into a session-shape JWT using the application\u0027s JWT_SECRET, and the auth middleware trusted every claim in that JWT without re-resolving the user from the database. Any authenticated Postiz user could forge a SUPERADMIN session and impersonate arbitrary organizations. This allowed Full Access to the following: all parts of Postiz, including users registered to the specific instance and the ability to post in the name of the victim\u0027s social media channels added to that Postiz instance. This issue has been fixed in version 2.21.8."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 9.9,
                "baseSeverity": "CRITICAL",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-302",
                  "description": "CWE-302: Authentication Bypass by Assumed-Immutable Data",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345: Insufficient Verification of Data Authenticity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-863",
                  "description": "CWE-863: Incorrect Authorization",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-06-16T21:31:28.955Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-j77w-h625-56q2",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-j77w-h625-56q2"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05"
            },
            {
              "name": "https://gadvisory.org/advisories/PSA-2026-2CAQ96",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-2CAQ96"
            },
            {
              "name": "http://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "http://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8"
            }
          ],
          "source": {
            "advisory": "GHSA-j77w-h625-56q2",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz has cross-tenant SUPERADMIN takeover via Skool-provider JWT forgery"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-48781",
        "datePublished": "2026-06-16T21:31:28.955Z",
        "dateReserved": "2026-05-22T20:18:20.365Z",
        "dateUpdated": "2026-06-18T14:26:17.633Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-42556 (GCVE-0-2026-42556)

    Vulnerability from nvd – Published: 2026-05-08 22:28 – Updated: 2026-05-13 17:46
    VLAI
    Title
    Postiz stored XSS in public preview page
    Summary
    Postiz is an AI social media scheduling tool. From version 2.21.6 to before version 2.21.7, any authenticated user who can create a post can store arbitrary HTML in post content by tampering their own save request and send the public preview link /p/<postId>?share=true to another user. The preview page renders that stored HTML with dangerouslySetInnerHTML on the main application origin. This issue has been patched in version 2.21.7.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-13 17:24 UTC
    CWE
    • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
    References
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: >= 2.21.6, < 2.21.7
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-42556",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-13T17:24:41.066396Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-13T17:46:47.709Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 2.21.6, \u003c 2.21.7"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. From version 2.21.6 to before version 2.21.7, any authenticated user who can create a post can store arbitrary HTML in post content by tampering their own save request and send the public preview link /p/\u003cpostId\u003e?share=true to another user. The preview page renders that stored HTML with dangerouslySetInnerHTML on the main application origin. This issue has been patched in version 2.21.7."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "LOW",
                "baseScore": 8.9,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-08T22:28:33.086Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-hhxq-3wg7-4rj8",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-hhxq-3wg7-4rj8"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.7"
            }
          ],
          "source": {
            "advisory": "GHSA-hhxq-3wg7-4rj8",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz stored XSS in public preview page"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-42556",
        "datePublished": "2026-05-08T22:28:33.086Z",
        "dateReserved": "2026-04-28T16:56:50.192Z",
        "dateUpdated": "2026-05-13T17:46:47.709Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-42346 (GCVE-0-2026-42346)

    Vulnerability from nvd – Published: 2026-05-08 22:26 – Updated: 2026-05-11 14:35
    VLAI
    Title
    Postiz: TOCTOU DNS rebinding bypasses all SSRF URL validation paths
    Summary
    Postiz is an AI social media scheduling tool. From version 2.16.6 to before version 2.21.7, all SSRF protections added in v2.21.4–v2.21.6 share a fundamental TOCTOU (Time-of-Check-Time-of-Use) vulnerability: isSafePublicHttpsUrl() resolves DNS to validate the target IP, but subsequent fetch() calls resolve DNS independently. An attacker controlling a DNS server can exploit this gap via DNS rebinding to redirect requests to internal network addresses. This issue has been patched in version 2.21.7.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-11 14:35 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: >= 2.16.6, < 2.21.7
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-42346",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-11T14:35:45.263376Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-11T14:35:55.041Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 2.16.6, \u003c 2.21.7"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. From version 2.16.6 to before version 2.21.7, all SSRF protections added in v2.21.4\u2013v2.21.6 share a fundamental TOCTOU (Time-of-Check-Time-of-Use) vulnerability: isSafePublicHttpsUrl() resolves DNS to validate the target IP, but subsequent fetch() calls resolve DNS independently. An attacker controlling a DNS server can exploit this gap via DNS rebinding to redirect requests to internal network addresses. This issue has been patched in version 2.21.7."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-08T22:26:50.501Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-f7jj-p389-4w45",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-f7jj-p389-4w45"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/071143dcb01cdeb9d5d7019892f4c6ff7b19dbeb",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/071143dcb01cdeb9d5d7019892f4c6ff7b19dbeb"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.7"
            }
          ],
          "source": {
            "advisory": "GHSA-f7jj-p389-4w45",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: TOCTOU DNS rebinding bypasses all SSRF URL validation paths"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-42346",
        "datePublished": "2026-05-08T22:26:50.501Z",
        "dateReserved": "2026-04-26T13:26:14.515Z",
        "dateUpdated": "2026-05-11T14:35:55.041Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-42298 (GCVE-0-2026-42298)

    Vulnerability from nvd – Published: 2026-05-08 22:24 – Updated: 2026-05-11 18:02
    VLAI
    Title
    Postiz: Arbitrary Code Execution and Token Exfiltration in pr-docker-build.yml via untrusted Dockerfile.dev
    Summary
    Postiz is an AI social media scheduling tool. Prior to commit da44801, a "Pwn Request" vulnerability in the Build and Publish PR Docker Image workflow (.github/workflows/pr-docker-build.yml) allows any unauthenticated user to execute arbitrary code during the Docker build process and exfiltrate a highly privileged GITHUB_TOKEN (write-all permissions). This can be achieved simply by opening a Pull Request from a fork with a maliciously modified Dockerfile.dev. This issue has been patched via commit da44801.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-11 17:58 UTC
    CWE
    • CWE-94 - Improper Control of Generation of Code ('Code Injection')
    References
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < da448012dd87e94944cbe83a38e7fd023269ec46
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-42298",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-11T17:58:43.572425Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-11T18:02:03.832Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c da448012dd87e94944cbe83a38e7fd023269ec46"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to commit da44801, a \"Pwn Request\" vulnerability in the Build and Publish PR Docker Image workflow (.github/workflows/pr-docker-build.yml) allows any unauthenticated user to execute arbitrary code during the Docker build process and exfiltrate a highly privileged GITHUB_TOKEN (write-all permissions). This can be achieved simply by opening a Pull Request from a fork with a maliciously modified Dockerfile.dev. This issue has been patched via commit da44801."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 10,
                "baseSeverity": "CRITICAL",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-94",
                  "description": "CWE-94: Improper Control of Generation of Code (\u0027Code Injection\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-08T22:24:10.249Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-v975-9h5p-xhm4",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-v975-9h5p-xhm4"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/da448012dd87e94944cbe83a38e7fd023269ec46",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/da448012dd87e94944cbe83a38e7fd023269ec46"
            }
          ],
          "source": {
            "advisory": "GHSA-v975-9h5p-xhm4",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: Arbitrary Code Execution and Token Exfiltration in pr-docker-build.yml via untrusted Dockerfile.dev"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-42298",
        "datePublished": "2026-05-08T22:24:10.249Z",
        "dateReserved": "2026-04-26T12:13:55.552Z",
        "dateUpdated": "2026-05-11T18:02:03.832Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-40487 (GCVE-0-2026-40487)

    Vulnerability from nvd – Published: 2026-04-18 01:19 – Updated: 2026-04-20 15:25
    VLAI
    Title
    Postiz Has Unrestricted File Upload via MIME Type Spoofing that Leads to Stored XSS
    Summary
    Postiz is an AI social media scheduling tool. Prior to version 2.21.6, a file upload validation bypass allows any authenticated user to upload arbitrary HTML, SVG, or other executable file types to the server by spoofing the `Content-Type` header. The uploaded files are then served by nginx with a Content-Type derived from their original extension (`text/html`, `image/svg+xml`), enabling Stored Cross-Site Scripting (XSS) in the context of the application's origin. This can lead to session riding, account takeover, and full compromise of other users' accounts. Version 2.21.6 contains a fix.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-04-20 15:25 UTC
    CWE
    • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
    • CWE-345 - Insufficient Verification of Data Authenticity
    • CWE-434 - Unrestricted Upload of File with Dangerous Type
    References
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.6
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-40487",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-04-20T15:25:37.579242Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-04-20T15:25:40.893Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-44wg-r34q-hvfx"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.6"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to version 2.21.6, a file upload validation bypass allows any authenticated user to upload arbitrary HTML, SVG, or other executable file types to the server by spoofing the `Content-Type` header. The uploaded files are then served by nginx with a Content-Type derived from their original extension (`text/html`, `image/svg+xml`), enabling Stored Cross-Site Scripting (XSS) in the context of the application\u0027s origin. This can lead to session riding, account takeover, and full compromise of other users\u0027 accounts. Version 2.21.6 contains a fix."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "LOW",
                "baseScore": 8.9,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345: Insufficient Verification of Data Authenticity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-434",
                  "description": "CWE-434: Unrestricted Upload of File with Dangerous Type",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-04-18T01:19:06.588Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-44wg-r34q-hvfx",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-44wg-r34q-hvfx"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.6",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.6"
            }
          ],
          "source": {
            "advisory": "GHSA-44wg-r34q-hvfx",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz Has Unrestricted File Upload via MIME Type Spoofing that Leads to Stored XSS"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-40487",
        "datePublished": "2026-04-18T01:19:06.588Z",
        "dateReserved": "2026-04-13T19:50:42.114Z",
        "dateUpdated": "2026-04-20T15:25:40.893Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-40168 (GCVE-0-2026-40168)

    Vulnerability from nvd – Published: 2026-04-10 19:20 – Updated: 2026-04-13 20:55
    VLAI
    Title
    Postiz has Server-Side Request Forgery via Redirect Bypass in /api/public/stream
    Summary
    Postiz is an AI social media scheduling tool. Prior to 2.21.5, the /api/public/stream endpoint is vulnerable to SSRF. Although the application validates the initially supplied URL and blocks direct private/internal hosts, it does not re-validate the final destination after HTTP redirects. As a result, an attacker can supply a public HTTPS URL that passes validation and then redirects the server-side request to an internal resource.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-04-13 20:55 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.5
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-40168",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-04-13T20:55:02.053732Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-04-13T20:55:15.792Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-34w8-5j2v-h6ww"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.5"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to 2.21.5, the /api/public/stream endpoint is vulnerable to SSRF. Although the application validates the initially supplied URL and blocks direct private/internal hosts, it does not re-validate the final destination after HTTP redirects. As a result, an attacker can supply a public HTTPS URL that passes validation and then redirects the server-side request to an internal resource."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "LOW",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-04-10T19:20:16.365Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-34w8-5j2v-h6ww",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-34w8-5j2v-h6ww"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/30e8b777098157362769226d1b46d83ad616cb06",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/30e8b777098157362769226d1b46d83ad616cb06"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.5",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.5"
            }
          ],
          "source": {
            "advisory": "GHSA-34w8-5j2v-h6ww",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz has Server-Side Request Forgery via Redirect Bypass in /api/public/stream"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-40168",
        "datePublished": "2026-04-10T19:20:16.365Z",
        "dateReserved": "2026-04-09T19:31:56.014Z",
        "dateUpdated": "2026-04-13T20:55:15.792Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-34590 (GCVE-0-2026-34590)

    Vulnerability from nvd – Published: 2026-04-02 17:26 – Updated: 2026-04-03 15:49
    VLAI
    Title
    Postiz: SSRF via Webhook Creation Endpoint Missing URL Safety Validation
    Summary
    Postiz is an AI social media scheduling tool. Prior to version 2.21.4, the POST /webhooks/ endpoint for creating webhooks uses WebhooksDto which validates the url field with only @IsUrl() (format check), missing the @IsSafeWebhookUrl validator that blocks internal/private network addresses. The update (PUT /webhooks/) and test (POST /webhooks/send) endpoints correctly apply @IsSafeWebhookUrl. When a post is published, the orchestrator fetches the stored webhook URL without runtime validation, enabling blind SSRF against internal services. This issue has been patched in version 2.21.4.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-04-03 15:49 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.4
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-34590",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-04-03T15:49:11.229869Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-04-03T15:49:51.856Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.4"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to version 2.21.4, the POST /webhooks/ endpoint for creating webhooks uses WebhooksDto which validates the url field with only @IsUrl() (format check), missing the @IsSafeWebhookUrl validator that blocks internal/private network addresses. The update (PUT /webhooks/) and test (POST /webhooks/send) endpoints correctly apply @IsSafeWebhookUrl. When a post is published, the orchestrator fetches the stored webhook URL without runtime validation, enabling blind SSRF against internal services. This issue has been patched in version 2.21.4."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 5.4,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-04-02T17:26:58.902Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-wc9c-7cv8-m225",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-wc9c-7cv8-m225"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/5ae4c950db6aa516a31454b7a45b9480bca40a11",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/5ae4c950db6aa516a31454b7a45b9480bca40a11"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.4",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.4"
            }
          ],
          "source": {
            "advisory": "GHSA-wc9c-7cv8-m225",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: SSRF via Webhook Creation Endpoint Missing URL Safety Validation"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-34590",
        "datePublished": "2026-04-02T17:26:58.902Z",
        "dateReserved": "2026-03-30T17:15:52.499Z",
        "dateUpdated": "2026-04-03T15:49:51.856Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-34577 (GCVE-0-2026-34577)

    Vulnerability from nvd – Published: 2026-04-02 17:24 – Updated: 2026-04-03 15:52
    VLAI
    Title
    Postiz: Unauthenticated Full-Read SSRF via /public/stream Endpoint with Trivially Bypassable Extension Check
    Summary
    Postiz is an AI social media scheduling tool. Prior to version 2.21.3, the GET /public/stream endpoint in PublicController accepts a user-supplied url query parameter and proxies the full HTTP response back to the caller. The only validation is url.endsWith('mp4'), which is trivially bypassable by appending .mp4 as a query parameter value or URL fragment. The endpoint requires no authentication and has no SSRF protections, allowing an unauthenticated attacker to read responses from internal services, cloud metadata endpoints, and other network-internal resources. This issue has been patched in version 2.21.3.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-04-03 15:52 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    References
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.3
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-34577",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-04-03T15:52:16.506297Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-04-03T15:52:56.345Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.3"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to version 2.21.3, the GET /public/stream endpoint in PublicController accepts a user-supplied url query parameter and proxies the full HTTP response back to the caller. The only validation is url.endsWith(\u0027mp4\u0027), which is trivially bypassable by appending .mp4 as a query parameter value or URL fragment. The endpoint requires no authentication and has no SSRF protections, allowing an unauthenticated attacker to read responses from internal services, cloud metadata endpoints, and other network-internal resources. This issue has been patched in version 2.21.3."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 8.6,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-04-02T17:24:33.725Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-mv6h-v3jg-g539",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-mv6h-v3jg-g539"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.3",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.3"
            }
          ],
          "source": {
            "advisory": "GHSA-mv6h-v3jg-g539",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: Unauthenticated Full-Read SSRF via /public/stream Endpoint with Trivially Bypassable Extension Check"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-34577",
        "datePublished": "2026-04-02T17:24:33.725Z",
        "dateReserved": "2026-03-30T16:56:30.998Z",
        "dateUpdated": "2026-04-03T15:52:56.345Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-34576 (GCVE-0-2026-34576)

    Vulnerability from nvd – Published: 2026-04-02 17:23 – Updated: 2026-04-02 18:57
    VLAI
    Title
    Postiz: SSRF in upload-from-url endpoint allows fetching internal resources and cloud metadata
    Summary
    Postiz is an AI social media scheduling tool. Prior to version 2.21.3, the POST /public/v1/upload-from-url endpoint accepts a user-supplied URL and fetches it server-side using axios.get() with no SSRF protections. The only validation is a file extension check (.png, .jpg, etc.) which is trivially bypassed by appending an image extension to any URL path. An authenticated API user can fetch internal network resources, cloud instance metadata, and other internal services, with the response data uploaded to storage and returned to the attacker. This issue has been patched in version 2.21.3.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-04-02 18:57 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    References
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.3
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-34576",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-04-02T18:57:23.395181Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-04-02T18:57:33.241Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.3"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to version 2.21.3, the POST /public/v1/upload-from-url endpoint accepts a user-supplied URL and fetches it server-side using axios.get() with no SSRF protections. The only validation is a file extension check (.png, .jpg, etc.) which is trivially bypassed by appending an image extension to any URL path. An authenticated API user can fetch internal network resources, cloud instance metadata, and other internal services, with the response data uploaded to storage and returned to the attacker. This issue has been patched in version 2.21.3."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.3,
                "baseSeverity": "HIGH",
                "privilegesRequired": "LOW",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "HIGH",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "NONE"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-04-02T17:23:14.827Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-89vp-m2qw-7v34",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-89vp-m2qw-7v34"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.3",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.3"
            }
          ],
          "source": {
            "advisory": "GHSA-89vp-m2qw-7v34",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: SSRF in upload-from-url endpoint allows fetching internal resources and cloud metadata"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-34576",
        "datePublished": "2026-04-02T17:23:14.827Z",
        "dateReserved": "2026-03-30T16:56:30.998Z",
        "dateUpdated": "2026-04-02T18:57:33.241Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-94455 (GCVE-0-2026-94455)

    Vulnerability from cvelistv5 – Published: 2026-09-22 16:17 – Updated: 2026-09-22 18:14
    VLAI
    Title
    Unauthenticated /enterprise/create-user mints lifetime top-tier organizations and discloses their API key
    Summary
    An HTTP endpoint intended for provisioning enterprise and reseller organisations is reachable without any session. The authentication middleware is bound only to an explicit list of controllers, and the enterprise controller is not on that list, so no authentication runs for these routes. The endpoint's only check is that the request body carries a token bearing a valid signature from the instance secret. It does not check what that token was issued for. Login tokens are signed with the same secret and carry no purpose, audience or expiry claim, so an ordinary user's own session token satisfies the check. Presented with such a token, the endpoint creates a new organisation holding the highest subscription tier, flagged as lifetime and with a channel allowance far above any sold plan, creates an organisation-owner account alongside it, and returns the new organisation's API key in the response body. That key is immediately valid against the public API.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-22 18:13 UTC
    Impacted products
    Vendor Product Version
    GitroomHQ postiz-app Affected: 0 , < 2.4.0 (semver)
    Create a notification for this product.
    Date Public
    2026-09-22 14:36
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-94455",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-22T18:13:58.426768Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-22T18:14:13.947Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageName": "postiz-app",
              "product": "postiz-app",
              "repo": "https://github.com/gitroomhq/postiz-app",
              "vendor": "GitroomHQ",
              "versions": [
                {
                  "lessThan": "2.4.0",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "value": "You are affected if your deployment has billing enabled, that is if STRIPE_PUBLISHABLE_KEY or STRIPE_SECRET_KEY is set. This covers the hosted Postiz service and any self-hoster running Postiz commercially."
            },
            {
              "lang": "en",
              "value": "You are not meaningfully affected if you run a default self-hosted instance with no Stripe configuration. In that mode Postiz does not enforce subscription entitlements at all, so an organisation created through this endpoint holds no privileges your users do not already have."
            },
            {
              "lang": "en",
              "value": "Exposure is wider if self-registration is open, that is if DISABLE_REGISTRATION is unset or not set to \u0027true\u0027, because anyone on the internet can then obtain the account needed. With registration closed, the issue is reachable only by people who already hold an account on your instance."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Santosh Kumar Puppala"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Enno Gelhaus"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Nevo David"
            }
          ],
          "datePublic": "2026-09-22T14:36:13.452Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "An HTTP endpoint intended for provisioning enterprise and reseller organisations is reachable without any session. The authentication middleware is bound only to an explicit list of controllers, and the enterprise controller is not on that list, so no authentication runs for these routes.\n\nThe endpoint\u0027s only check is that the request body carries a token bearing a valid signature from the instance secret. It does not check what that token was issued for. Login tokens are signed with the same secret and carry no purpose, audience or expiry claim, so an ordinary user\u0027s own session token satisfies the check.\n\nPresented with such a token, the endpoint creates a new organisation holding the highest subscription tier, flagged as lifetime and with a channel allowance far above any sold plan, creates an organisation-owner account alongside it, and returns the new organisation\u0027s API key in the response body. That key is immediately valid against the public API."
            }
          ],
          "exploits": [
            {
              "lang": "en",
              "value": "1. Register an ordinary account on the target instance and capture that account\u0027s own login JWT."
            },
            {
              "lang": "en",
              "value": "2. POST /api/enterprise/create-user with body {\"params\": \"\u003cthat login JWT, verbatim\u003e\"}."
            },
            {
              "lang": "en",
              "value": "3. The response is 200 with {\"id\": \"\u003cnew organisation id\u003e\", \"apiKey\": \"\u003ckey\u003e\"}."
            },
            {
              "lang": "en",
              "value": "4. Confirm the new organisation carries subscriptionTier=ULTIMATE, isLifetime=true and totalChannels=1000000, and that it is distinct from the caller\u0027s own registration organisation."
            },
            {
              "lang": "en",
              "value": "5. Send the returned apiKey as the Authorization header against a public API endpoint and confirm 200, versus 401 for an invalid key."
            },
            {
              "lang": "en",
              "value": "Controls: an absent token, a malformed token, and a token with a valid-looking payload but a wrong signature all fail with no organisation created, confirming signature verification is the only gate."
            }
          ],
          "impacts": [
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Billing-integrity bypass. Any registered user can provision an organisation at the highest subscription tier, flagged as lifetime, with a channel allowance of 1,000,000 against the 100 provisioned for a genuine paying customer at that same tier."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Recurring unmetered resource consumption. The per-organisation AI allowance (500 image generations, 60 video generations, 600 clipping minutes) refills on a rolling monthly window, and the lifetime flag exempts the organisation from subscription reconciliation, so each provisioned organisation is an indefinite draw on the operator\u0027s model and GPU budget rather than a one-off."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Disclosure of a usable organisation API key in the response body, valid immediately against the public API without an interactive session."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "No confidentiality impact on existing tenants. The provisioned organisation is empty; no other organisation\u0027s channels, posts, media or account data become reachable."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 7.1,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L",
                "version": "3.1"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-306",
                  "description": "CWE-306",
                  "lang": "en",
                  "type": "CWE"
                },
                {
                  "cweId": "CWE-1390",
                  "description": "CWE-1390",
                  "lang": "en",
                  "type": "CWE"
                },
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345",
                  "lang": "en",
                  "type": "CWE"
                },
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-22T16:17:00.413Z",
            "orgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
            "shortName": "postiz"
          },
          "references": [
            {
              "name": "Postiz",
              "tags": [
                "product"
              ],
              "url": "https://github.com/gitroomhq/postiz-app"
            },
            {
              "name": "v2.24.0",
              "tags": [
                "release-notes"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.24.0"
            },
            {
              "name": "9259cf2",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/9259cf2429e8cc0c88414e88d5e6c783d7ffba63"
            },
            {
              "name": "GAdvisory",
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-P8W1J0"
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-09-21T13:34:00.000Z",
              "value": "Postiz has received and acknowledged the report."
            },
            {
              "lang": "en",
              "time": "2026-09-21T20:15:00.000Z",
              "value": "Postiz has verified the report."
            },
            {
              "lang": "en",
              "time": "2026-09-22T04:32:00.000Z",
              "value": "Postiz has developed and verified the patch."
            },
            {
              "lang": "en",
              "time": "2026-09-22T14:17:00.000Z",
              "value": "Postiz has released the patch notes and published the advisory."
            }
          ],
          "title": "Unauthenticated /enterprise/create-user mints lifetime top-tier organizations and discloses their API key",
          "workarounds": [
            {
              "lang": "en",
              "value": "Block POST /enterprise/create-user, and preferably all of /enterprise/*, at your reverse proxy, ingress or WAF. If you do not use Postiz\u0027s enterprise or reseller provisioning integration, nothing legitimate calls these routes, so blocking them has no user-visible effect."
            },
            {
              "lang": "en",
              "value": "Set DISABLE_REGISTRATION=true. The caller needs an ordinary account on your instance to obtain a usable token, so closing self-registration limits exposure to people who already have one. This reduces reach, it does not close the issue."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
        "assignerShortName": "postiz",
        "cveId": "CVE-2026-94455",
        "datePublished": "2026-09-22T16:17:00.413Z",
        "dateReserved": "2026-09-21T17:10:50.156Z",
        "dateUpdated": "2026-09-22T18:14:13.947Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-94456 (GCVE-0-2026-94456)

    Vulnerability from cvelistv5 – Published: 2026-09-22 16:11 – Updated: 2026-09-22 18:11
    VLAI
    Title
    Unauthenticated recovery of the Math.random() state behind OAuth tokens, authorization codes, client secrets and organization API keys
    Summary
    Postiz generates security-sensitive credentials using `Math.random()` instead of a cryptographically secure source. The same helper is used for OAuth access tokens, authorization codes, client secrets, organization API keys, and PKCE verifiers, meaning these credentials depend entirely on V8’s deterministic xorshift128+ PRNG state. An unauthenticated OAuth dynamic client registration endpoint exposes freshly generated client credentials, giving attackers enough consecutive PRNG output to reconstruct that internal state. Once recovered, they can deterministically derive past and future values produced by the same generator, potentially compromising credentials belonging to other users and organizations.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-22 18:10 UTC
    Impacted products
    Vendor Product Version
    GitroomHQ postiz-app Affected: 0 , < 2.4.0 (semver)
    Create a notification for this product.
    Date Public
    2026-09-22 14:17
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-94456",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-22T18:10:57.774548Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-22T18:11:17.502Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageName": "postiz-app",
              "product": "postiz-app",
              "repo": "https://github.com/gitroomhq/postiz-app",
              "vendor": "GitroomHQ",
              "versions": [
                {
                  "lessThan": "2.4.0",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "value": "All deployments running the released code up to and including v2.23.0 are affected, self-hosted and hosted alike. The identifier helper is shared code reached by every credential-minting path, and there is no feature flag, environment variable or build option that selects a different random source."
            },
            {
              "lang": "en",
              "value": "The anonymous sampling surface, the OAuth dynamic client registration endpoint, is registered in both the default controller set and the MCP_ONLY controller set, so it is reachable in either deployment mode."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Santosh Kumar Puppala"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Enno Gelhaus"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Nevo David"
            }
          ],
          "datePublic": "2026-09-22T14:17:43.125Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz generates security-sensitive credentials using `Math.random()` instead of a cryptographically secure source. The same helper is used for OAuth access tokens, authorization codes, client secrets, organization API keys, and PKCE verifiers, meaning these credentials depend entirely on V8\u2019s deterministic xorshift128+ PRNG state.\n\nAn unauthenticated OAuth dynamic client registration endpoint exposes freshly generated client credentials, giving attackers enough consecutive PRNG output to reconstruct that internal state. Once recovered, they can deterministically derive past and future values produced by the same generator, potentially compromising credentials belonging to other users and organizations."
            }
          ],
          "exploits": [
            {
              "lang": "en",
              "value": "No public exploit code is known. The original submission was methodology-only and deliberately omitted a working implementation."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-59",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "An unauthenticated attacker who predicts an OAuth access token minted for another organization is authenticated as that organization with SUPERADMIN rights over the public API, giving full read and write access to its scheduled posts, connected social accounts, media and team membership."
                }
              ]
            },
            {
              "capecId": "CAPEC-59",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "The per-organization API key generated at registration is drawn from the same generator and is honoured by the same middleware with the same SUPERADMIN grant, so an attacker sampling the generator around a signup can predict the API key of a newly created organization."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "OAuth client secrets, including those returned by anonymous dynamic client registration and by secret rotation, are predictable, allowing an attacker to impersonate a registered OAuth or MCP client to the token endpoint."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Authorization codes issued at the consent step are predictable, exposing in-flight OAuth authorization flows to interception and redemption by a third party."
                }
              ]
            },
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "PKCE code verifiers generated for social account connections are predictable, removing the protection PKCE is present to provide for those provider flows."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 9.1,
                "baseSeverity": "CRITICAL",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
                "version": "3.1"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-338",
                  "description": "CWE-338",
                  "lang": "en",
                  "type": "CWE"
                },
                {
                  "cweId": "CWE-330",
                  "description": "CWE-330",
                  "lang": "en",
                  "type": "CWE"
                },
                {
                  "cweId": "CWE-341",
                  "description": "CWE-341",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-22T16:16:23.351Z",
            "orgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
            "shortName": "postiz"
          },
          "references": [
            {
              "name": "Postiz",
              "tags": [
                "product"
              ],
              "url": "https://github.com/gitroomhq/postiz-app"
            },
            {
              "name": "v2.24.0",
              "tags": [
                "release-notes"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.24.0"
            },
            {
              "name": "9259cf24",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/9259cf2429e8cc0c88414e88d5e6c783d7ffba63"
            },
            {
              "name": "GAdvisory",
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-TD98KY"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "value": "Run a Postiz release in which security-sensitive identifiers are generated from a cryptographically secure random source rather than from Math.random(). No fixed release is available at the time of writing; this advisory will record the fixed version once one is published."
            },
            {
              "lang": "en",
              "value": "Once running a release with a corrected generator, treat every credential issued by an affected version as compromised and replace it. That covers organization API keys, OAuth application client secrets, and any outstanding OAuth access tokens and authorizations. Outstanding authorization codes are short-lived and expire on their own."
            },
            {
              "lang": "en",
              "value": "Operators who connected social accounts while running an affected version should review those connections, since the PKCE verifiers used to establish them were drawn from the same generator."
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-09-21T13:34:00.000Z",
              "value": "Postiz has received and acknowledged the report."
            },
            {
              "lang": "en",
              "time": "2026-09-21T20:15:00.000Z",
              "value": "Postiz has verified the report."
            },
            {
              "lang": "en",
              "time": "2026-09-22T04:32:00.000Z",
              "value": "Postiz has developed and verified the patch."
            },
            {
              "lang": "en",
              "time": "2026-09-22T14:17:00.000Z",
              "value": "Postiz has released the patch notes and published the advisory."
            }
          ],
          "title": "Unauthenticated recovery of the Math.random() state behind OAuth tokens, authorization codes, client secrets and organization API keys",
          "workarounds": [
            {
              "lang": "en",
              "value": "Blocking or requiring authentication on the OAuth dynamic client registration endpoint at a reverse proxy, gateway or WAF removes the anonymous bulk-sampling surface, which is the part of this issue reachable without an account. It does not make the generated values unpredictable, and it does not close the surfaces available to an authenticated user, so it narrows exposure rather than resolving it. Deployments that do not use OAuth or MCP client integrations can apply this with no loss of function."
            },
            {
              "lang": "en",
              "value": "Rotating organization API keys or OAuth client secrets while still running an affected version does not help, and should not be relied on as a mitigation. The replacement value is produced by the same generator and is predictable on the same terms as the value it replaces. Rotation is only meaningful once the generator itself no longer draws from Math.random()."
            },
            {
              "lang": "en",
              "value": "Where the deployment allows it, restricting the public API to known client networks limits who can present a predicted credential. This is a containment measure for the consequence rather than a fix for the predictability."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
        "assignerShortName": "postiz",
        "cveId": "CVE-2026-94456",
        "datePublished": "2026-09-22T16:11:33.674Z",
        "dateReserved": "2026-09-21T17:11:13.201Z",
        "dateUpdated": "2026-09-22T18:11:17.502Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-19264 (GCVE-0-2026-19264)

    Vulnerability from cvelistv5 – Published: 2026-08-07 14:15 – Updated: 2026-08-24 11:15
    VLAI
    Title
    Unauthenticated arbitrary file read via /uploads path traversal (URL-encoded separators) leading to instance takeover
    Summary
    Postiz is an open-source social media scheduling tool. The route that serves locally stored media joins URL-supplied path segments onto the upload directory and streams the file without normalising the path or confining it to that directory, and the route requires no authentication. Raw dot-segments are collapsed before routing, but URL-encoded separators survive route matching and are decoded only once they reach the handler, restoring the traversal at the filesystem call. An unauthenticated remote attacker can therefore read any file readable by the application process, including the process environment, which exposes the JWT signing secret, the database connection string, and connected provider and billing secrets. Because session tokens are signed with that secret and carry no expiry, this allows forging a non-expiring session as any user, including an administrator, without a password.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-07 17:54 UTC
    CWE
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: 0 , < 2.22.1 (custom)
    Create a notification for this product.
    Date Public
    2026-08-07 14:14
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-19264",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-07T17:54:32.053150Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-07T17:54:47.917Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageName": "postiz-app",
              "product": "postiz-app",
              "repo": "https://github.com/gitroomhq/postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "lessThan": "2.22.1",
                  "status": "affected",
                  "version": "0",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "value": "Exploitation requires the environment variable STORAGE_PROVIDER to be set to \u0027local\u0027, which is the default value shipped in .env.example. On any other storage backend the /uploads route is rewritten to /404 and the vulnerable handler is unreachable."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "KRITHIK BABU P"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Enno Gelhaus"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Nevo David"
            }
          ],
          "dateAssigned": "2026-08-07T14:13:00.000Z",
          "datePublic": "2026-08-07T14:14:58.259Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an open-source social media scheduling tool. The route that serves locally stored media joins URL-supplied path segments onto the upload directory and streams the file without normalising the path or confining it to that directory, and the route requires no authentication. Raw dot-segments are collapsed before routing, but URL-encoded separators survive route matching and are decoded only once they reach the handler, restoring the traversal at the filesystem call. An unauthenticated remote attacker can therefore read any file readable by the application process, including the process environment, which exposes the JWT signing secret, the database connection string, and connected provider and billing secrets. Because session tokens are signed with that secret and carry no expiry, this allows forging a non-expiring session as any user, including an administrator, without a password."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 9.8,
                "baseSeverity": "CRITICAL",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "format": "CVSS"
            },
            {
              "cvssV4_0": {
                "baseScore": 9.3,
                "baseSeverity": "CRITICAL",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-22",
                  "description": "CWE-22",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-24T11:15:08.324Z",
            "orgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
            "shortName": "postiz"
          },
          "references": [
            {
              "name": "7936062",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/7936062"
            },
            {
              "name": "v2.22.1",
              "tags": [
                "release-notes"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.22.1"
            },
            {
              "name": "GAdvisory",
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-TH12B7"
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-07-20T05:55:00.000Z",
              "value": "Postiz has received the advisory."
            },
            {
              "lang": "en",
              "time": "2026-07-20T07:44:00.000Z",
              "value": "Postiz has acknowledged and verified the advisory."
            },
            {
              "lang": "en",
              "time": "2026-07-20T12:18:00.000Z",
              "value": "Postiz has published a fix for this advisory, and verified that it works."
            },
            {
              "lang": "en",
              "time": "2026-08-07T14:13:00.000Z",
              "value": "Postiz has issued CVE-2026-19264 for this advisory."
            }
          ],
          "title": "Unauthenticated arbitrary file read via /uploads path traversal (URL-encoded separators) leading to instance takeover"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
        "assignerShortName": "postiz",
        "cveId": "CVE-2026-19264",
        "datePublished": "2026-08-07T14:15:15.123Z",
        "dateReserved": "2026-08-07T14:09:09.890Z",
        "dateUpdated": "2026-08-24T11:15:08.324Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-19127 (GCVE-0-2026-19127)

    Vulnerability from cvelistv5 – Published: 2026-08-06 17:02 – Updated: 2026-08-07 14:03
    VLAI
    Title
    Insufficient verification of lifetime-deal redemption codes allows forgery of permanent paid subscriptions
    Summary
    An issue in the billing and license activation subsystem allows remote attackers to bypass payment authorization workflows. By exploiting insufficient cryptographic validation or lack of server-side state verification on promotional/lifetime-deal (LTD) redemption codes, an unauthenticated attacker can forge valid redemption tokens or replay existing single-use codes to activate permanent, tier-highest paid subscriptions without a financial transaction.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-07 14:02 UTC
    CWE
    Impacted products
    Vendor Product Version
    GitroomHQ postiz-app Affected: 0 , < 2.21.10 (semver)
    Create a notification for this product.
    Date Public
    2026-06-22 13:46
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-19127",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-07T14:02:58.803040Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-07T14:03:32.512Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unaffected",
              "packageName": "postiz-app",
              "product": "postiz-app",
              "vendor": "GitroomHQ",
              "versions": [
                {
                  "lessThan": "2.21.10",
                  "status": "affected",
                  "version": "0",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "value": "Stripe has to be configured for this to apply."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Enno Gelhaus"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Enno Gelhaus"
            },
            {
              "lang": "en",
              "type": "remediation developer",
              "value": "Nevo David"
            }
          ],
          "dateAssigned": "2026-08-06T16:04:00.000Z",
          "datePublic": "2026-06-22T13:46:51.287Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "An issue in the billing and license activation subsystem allows remote attackers to bypass payment authorization workflows. By exploiting insufficient cryptographic validation or lack of server-side state verification on promotional/lifetime-deal (LTD) redemption codes, an unauthenticated attacker can forge valid redemption tokens or replay existing single-use codes to activate permanent, tier-highest paid subscriptions without a financial transaction."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
                "version": "3.1"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-07T10:47:07.050Z",
            "orgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
            "shortName": "postiz"
          },
          "references": [
            {
              "name": "387d85d",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/387d85dabe0223cd930714c19072a0aee58541ca"
            },
            {
              "name": "v2.21.10",
              "tags": [
                "release-notes"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.10"
            },
            {
              "name": "GAdvisory",
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-NWZN9J"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "value": "No solution other than upgrading to v2.21.10 is currently known."
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2026-06-21T18:00:00.000Z",
              "value": "Postiz has discovered the vulnerability."
            },
            {
              "lang": "en",
              "time": "2026-06-22T13:20:00.000Z",
              "value": "Postiz has developed and verified the fix."
            },
            {
              "lang": "en",
              "time": "2026-06-22T13:44:00.000Z",
              "value": "Postiz has created the release and published the advisory."
            },
            {
              "lang": "en",
              "time": "2026-08-06T16:04:00.000Z",
              "value": "Postiz has assigned CVE-2026-19127 for this advisory."
            }
          ],
          "title": "Insufficient verification of lifetime-deal redemption codes allows forgery of permanent paid subscriptions",
          "workarounds": [
            {
              "lang": "en",
              "value": "No workaround other than upgrading to v2.21.10 is currently known."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "4cdc9741-f887-419a-a2fd-acbbd2729276",
        "assignerShortName": "postiz",
        "cveId": "CVE-2026-19127",
        "datePublished": "2026-08-06T17:02:44.054Z",
        "dateReserved": "2026-08-06T15:49:22.192Z",
        "dateUpdated": "2026-08-07T14:03:32.512Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-48799 (GCVE-0-2026-48799)

    Vulnerability from cvelistv5 – Published: 2026-07-15 16:11 – Updated: 2026-07-15 18:01
    VLAI
    Title
    Postiz: Unauthenticated arbitrary lifetime PRO grant via Nowpayments webhook
    Summary
    Postiz is an AI social media scheduling tool. Prior to 2.21.8, Postiz fails to verify Nowpayments IPN callback authenticity against the payment provider shared secret and reads the target subscription identifier from the untrusted request body, allowing a low-privileged account to grant arbitrary organizations lifetime PRO subscriptions without payment. This issue is fixed in version 2.21.8.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-07-15 18:01 UTC
    CWE
    • CWE-345 - Insufficient Verification of Data Authenticity
    • CWE-639 - Authorization Bypass Through User-Controlled Key
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.8
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-48799",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-07-15T18:01:37.750762Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-07-15T18:01:49.289Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.8"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to 2.21.8, Postiz fails to verify Nowpayments IPN callback authenticity against the payment provider shared secret and reads the target subscription identifier from the untrusted request body, allowing a low-privileged account to grant arbitrary organizations lifetime PRO subscriptions without payment. This issue is fixed in version 2.21.8."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 7.7,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "NONE",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345: Insufficient Verification of Data Authenticity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-639",
                  "description": "CWE-639: Authorization Bypass Through User-Controlled Key",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-15T16:11:24.967Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-j7rp-5mgj-qgg9",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-j7rp-5mgj-qgg9"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05"
            },
            {
              "name": "https://gadvisory.org/advisories/PSA-2026-Q3TCPK",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-Q3TCPK"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8"
            }
          ],
          "source": {
            "advisory": "GHSA-j7rp-5mgj-qgg9",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: Unauthenticated arbitrary lifetime PRO grant via Nowpayments webhook"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-48799",
        "datePublished": "2026-07-15T16:11:24.967Z",
        "dateReserved": "2026-05-22T20:18:20.366Z",
        "dateUpdated": "2026-07-15T18:01:49.289Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-48783 (GCVE-0-2026-48783)

    Vulnerability from cvelistv5 – Published: 2026-06-16 21:38 – Updated: 2026-06-17 12:43
    VLAI
    Title
    Postiz has an unauthenticated billing-enforcement bypass via /public/modify-subscription
    Summary
    Postiz is an AI social media scheduling tool. Versions prior to 2.21.8 contained an unauthenticated endpoint that accepted a signed token and applied subscription-enforcement side effects to the organization referenced in that token's claims, without verifying the token's intended purpose. The endpoint, /public/modify-subscription, could not change the persisted subscription tier, but it did execute enforcement-related side effects on the caller's own organization, including adjusting team-member enablement state, disabling integrations exceeding the asserted plan's limits, and resetting the scheduled-post cron when the asserted plan was the free tier. Impact is limited to the attacker's own organization and cannot be redirected at other tenants through this endpoint. This issue has been fixed in version 2.21.8.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-06-17 12:43 UTC
    CWE
    • CWE-345 - Insufficient Verification of Data Authenticity
    • CWE-639 - Authorization Bypass Through User-Controlled Key
    • CWE-749 - Exposed Dangerous Method or Function
    • CWE-862 - Missing Authorization
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.8
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-48783",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-06-17T12:43:27.137971Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-06-17T12:43:39.751Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.8"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Versions prior to 2.21.8 contained an unauthenticated endpoint that accepted a signed token and applied subscription-enforcement side effects to the organization referenced in that token\u0027s claims, without verifying the token\u0027s intended purpose. The endpoint, /public/modify-subscription, could not change the persisted subscription tier, but it did execute enforcement-related side effects on the caller\u0027s own organization, including adjusting team-member enablement state, disabling integrations exceeding the asserted plan\u0027s limits, and resetting the scheduled-post cron when the asserted plan was the free tier. Impact is limited to the attacker\u0027s own organization and cannot be redirected at other tenants through this endpoint. This issue has been fixed in version 2.21.8."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "LOW",
                "baseScore": 4.8,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345: Insufficient Verification of Data Authenticity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-639",
                  "description": "CWE-639: Authorization Bypass Through User-Controlled Key",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-749",
                  "description": "CWE-749: Exposed Dangerous Method or Function",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-862",
                  "description": "CWE-862: Missing Authorization",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-06-16T21:38:00.674Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-v4wr-4j8g-4hfj",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-v4wr-4j8g-4hfj"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05"
            },
            {
              "name": "https://gadvisory.org/advisories/PSA-2026-WWFR8X",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-WWFR8X"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8"
            }
          ],
          "source": {
            "advisory": "GHSA-v4wr-4j8g-4hfj",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz has an unauthenticated billing-enforcement bypass via /public/modify-subscription"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-48783",
        "datePublished": "2026-06-16T21:38:00.674Z",
        "dateReserved": "2026-05-22T20:18:20.365Z",
        "dateUpdated": "2026-06-17T12:43:39.751Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-48781 (GCVE-0-2026-48781)

    Vulnerability from cvelistv5 – Published: 2026-06-16 21:31 – Updated: 2026-06-18 14:26
    VLAI
    Title
    Postiz has cross-tenant SUPERADMIN takeover via Skool-provider JWT forgery
    Summary
    Postiz is an AI social media scheduling tool. In versions prior to 2.21.8, the Skool integration callback signed an attacker-controlled JSON blob into a session-shape JWT using the application's JWT_SECRET, and the auth middleware trusted every claim in that JWT without re-resolving the user from the database. Any authenticated Postiz user could forge a SUPERADMIN session and impersonate arbitrary organizations. This allowed Full Access to the following: all parts of Postiz, including users registered to the specific instance and the ability to post in the name of the victim's social media channels added to that Postiz instance. This issue has been fixed in version 2.21.8.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-06-18 14:25 UTC
    CWE
    • CWE-302 - Authentication Bypass by Assumed-Immutable Data
    • CWE-345 - Insufficient Verification of Data Authenticity
    • CWE-863 - Incorrect Authorization
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.8
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-48781",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-06-18T14:25:47.270443Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-06-18T14:26:17.633Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.8"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. In versions prior to 2.21.8, the Skool integration callback signed an attacker-controlled JSON blob into a session-shape JWT using the application\u0027s JWT_SECRET, and the auth middleware trusted every claim in that JWT without re-resolving the user from the database. Any authenticated Postiz user could forge a SUPERADMIN session and impersonate arbitrary organizations. This allowed Full Access to the following: all parts of Postiz, including users registered to the specific instance and the ability to post in the name of the victim\u0027s social media channels added to that Postiz instance. This issue has been fixed in version 2.21.8."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 9.9,
                "baseSeverity": "CRITICAL",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-302",
                  "description": "CWE-302: Authentication Bypass by Assumed-Immutable Data",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345: Insufficient Verification of Data Authenticity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-863",
                  "description": "CWE-863: Incorrect Authorization",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-06-16T21:31:28.955Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-j77w-h625-56q2",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-j77w-h625-56q2"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/23696d2973510ae1f3f48bfa41a6bfbbf9827b05"
            },
            {
              "name": "https://gadvisory.org/advisories/PSA-2026-2CAQ96",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://gadvisory.org/advisories/PSA-2026-2CAQ96"
            },
            {
              "name": "http://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "http://github.com/gitroomhq/postiz-app/releases/tag/v2.21.8"
            }
          ],
          "source": {
            "advisory": "GHSA-j77w-h625-56q2",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz has cross-tenant SUPERADMIN takeover via Skool-provider JWT forgery"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-48781",
        "datePublished": "2026-06-16T21:31:28.955Z",
        "dateReserved": "2026-05-22T20:18:20.365Z",
        "dateUpdated": "2026-06-18T14:26:17.633Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-42556 (GCVE-0-2026-42556)

    Vulnerability from cvelistv5 – Published: 2026-05-08 22:28 – Updated: 2026-05-13 17:46
    VLAI
    Title
    Postiz stored XSS in public preview page
    Summary
    Postiz is an AI social media scheduling tool. From version 2.21.6 to before version 2.21.7, any authenticated user who can create a post can store arbitrary HTML in post content by tampering their own save request and send the public preview link /p/<postId>?share=true to another user. The preview page renders that stored HTML with dangerouslySetInnerHTML on the main application origin. This issue has been patched in version 2.21.7.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-13 17:24 UTC
    CWE
    • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
    References
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: >= 2.21.6, < 2.21.7
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-42556",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-13T17:24:41.066396Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-13T17:46:47.709Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 2.21.6, \u003c 2.21.7"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. From version 2.21.6 to before version 2.21.7, any authenticated user who can create a post can store arbitrary HTML in post content by tampering their own save request and send the public preview link /p/\u003cpostId\u003e?share=true to another user. The preview page renders that stored HTML with dangerouslySetInnerHTML on the main application origin. This issue has been patched in version 2.21.7."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "LOW",
                "baseScore": 8.9,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-08T22:28:33.086Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-hhxq-3wg7-4rj8",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-hhxq-3wg7-4rj8"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.7"
            }
          ],
          "source": {
            "advisory": "GHSA-hhxq-3wg7-4rj8",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz stored XSS in public preview page"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-42556",
        "datePublished": "2026-05-08T22:28:33.086Z",
        "dateReserved": "2026-04-28T16:56:50.192Z",
        "dateUpdated": "2026-05-13T17:46:47.709Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-42346 (GCVE-0-2026-42346)

    Vulnerability from cvelistv5 – Published: 2026-05-08 22:26 – Updated: 2026-05-11 14:35
    VLAI
    Title
    Postiz: TOCTOU DNS rebinding bypasses all SSRF URL validation paths
    Summary
    Postiz is an AI social media scheduling tool. From version 2.16.6 to before version 2.21.7, all SSRF protections added in v2.21.4–v2.21.6 share a fundamental TOCTOU (Time-of-Check-Time-of-Use) vulnerability: isSafePublicHttpsUrl() resolves DNS to validate the target IP, but subsequent fetch() calls resolve DNS independently. An attacker controlling a DNS server can exploit this gap via DNS rebinding to redirect requests to internal network addresses. This issue has been patched in version 2.21.7.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-11 14:35 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: >= 2.16.6, < 2.21.7
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-42346",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-11T14:35:45.263376Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-11T14:35:55.041Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003e= 2.16.6, \u003c 2.21.7"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. From version 2.16.6 to before version 2.21.7, all SSRF protections added in v2.21.4\u2013v2.21.6 share a fundamental TOCTOU (Time-of-Check-Time-of-Use) vulnerability: isSafePublicHttpsUrl() resolves DNS to validate the target IP, but subsequent fetch() calls resolve DNS independently. An attacker controlling a DNS server can exploit this gap via DNS rebinding to redirect requests to internal network addresses. This issue has been patched in version 2.21.7."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:L/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-08T22:26:50.501Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-f7jj-p389-4w45",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-f7jj-p389-4w45"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/071143dcb01cdeb9d5d7019892f4c6ff7b19dbeb",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/071143dcb01cdeb9d5d7019892f4c6ff7b19dbeb"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.7",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.7"
            }
          ],
          "source": {
            "advisory": "GHSA-f7jj-p389-4w45",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: TOCTOU DNS rebinding bypasses all SSRF URL validation paths"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-42346",
        "datePublished": "2026-05-08T22:26:50.501Z",
        "dateReserved": "2026-04-26T13:26:14.515Z",
        "dateUpdated": "2026-05-11T14:35:55.041Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-42298 (GCVE-0-2026-42298)

    Vulnerability from cvelistv5 – Published: 2026-05-08 22:24 – Updated: 2026-05-11 18:02
    VLAI
    Title
    Postiz: Arbitrary Code Execution and Token Exfiltration in pr-docker-build.yml via untrusted Dockerfile.dev
    Summary
    Postiz is an AI social media scheduling tool. Prior to commit da44801, a "Pwn Request" vulnerability in the Build and Publish PR Docker Image workflow (.github/workflows/pr-docker-build.yml) allows any unauthenticated user to execute arbitrary code during the Docker build process and exfiltrate a highly privileged GITHUB_TOKEN (write-all permissions). This can be achieved simply by opening a Pull Request from a fork with a maliciously modified Dockerfile.dev. This issue has been patched via commit da44801.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-05-11 17:58 UTC
    CWE
    • CWE-94 - Improper Control of Generation of Code ('Code Injection')
    References
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < da448012dd87e94944cbe83a38e7fd023269ec46
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-42298",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-05-11T17:58:43.572425Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-05-11T18:02:03.832Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c da448012dd87e94944cbe83a38e7fd023269ec46"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to commit da44801, a \"Pwn Request\" vulnerability in the Build and Publish PR Docker Image workflow (.github/workflows/pr-docker-build.yml) allows any unauthenticated user to execute arbitrary code during the Docker build process and exfiltrate a highly privileged GITHUB_TOKEN (write-all permissions). This can be achieved simply by opening a Pull Request from a fork with a maliciously modified Dockerfile.dev. This issue has been patched via commit da44801."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 10,
                "baseSeverity": "CRITICAL",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-94",
                  "description": "CWE-94: Improper Control of Generation of Code (\u0027Code Injection\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-05-08T22:24:10.249Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-v975-9h5p-xhm4",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-v975-9h5p-xhm4"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/da448012dd87e94944cbe83a38e7fd023269ec46",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/da448012dd87e94944cbe83a38e7fd023269ec46"
            }
          ],
          "source": {
            "advisory": "GHSA-v975-9h5p-xhm4",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: Arbitrary Code Execution and Token Exfiltration in pr-docker-build.yml via untrusted Dockerfile.dev"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-42298",
        "datePublished": "2026-05-08T22:24:10.249Z",
        "dateReserved": "2026-04-26T12:13:55.552Z",
        "dateUpdated": "2026-05-11T18:02:03.832Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-40487 (GCVE-0-2026-40487)

    Vulnerability from cvelistv5 – Published: 2026-04-18 01:19 – Updated: 2026-04-20 15:25
    VLAI
    Title
    Postiz Has Unrestricted File Upload via MIME Type Spoofing that Leads to Stored XSS
    Summary
    Postiz is an AI social media scheduling tool. Prior to version 2.21.6, a file upload validation bypass allows any authenticated user to upload arbitrary HTML, SVG, or other executable file types to the server by spoofing the `Content-Type` header. The uploaded files are then served by nginx with a Content-Type derived from their original extension (`text/html`, `image/svg+xml`), enabling Stored Cross-Site Scripting (XSS) in the context of the application's origin. This can lead to session riding, account takeover, and full compromise of other users' accounts. Version 2.21.6 contains a fix.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-04-20 15:25 UTC
    CWE
    • CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
    • CWE-345 - Insufficient Verification of Data Authenticity
    • CWE-434 - Unrestricted Upload of File with Dangerous Type
    References
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.6
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-40487",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-04-20T15:25:37.579242Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-04-20T15:25:40.893Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-44wg-r34q-hvfx"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.6"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to version 2.21.6, a file upload validation bypass allows any authenticated user to upload arbitrary HTML, SVG, or other executable file types to the server by spoofing the `Content-Type` header. The uploaded files are then served by nginx with a Content-Type derived from their original extension (`text/html`, `image/svg+xml`), enabling Stored Cross-Site Scripting (XSS) in the context of the application\u0027s origin. This can lead to session riding, account takeover, and full compromise of other users\u0027 accounts. Version 2.21.6 contains a fix."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "LOW",
                "baseScore": 8.9,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:L",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "CWE-79: Improper Neutralization of Input During Web Page Generation (\u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345: Insufficient Verification of Data Authenticity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-434",
                  "description": "CWE-434: Unrestricted Upload of File with Dangerous Type",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-04-18T01:19:06.588Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-44wg-r34q-hvfx",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-44wg-r34q-hvfx"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.6",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.6"
            }
          ],
          "source": {
            "advisory": "GHSA-44wg-r34q-hvfx",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz Has Unrestricted File Upload via MIME Type Spoofing that Leads to Stored XSS"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-40487",
        "datePublished": "2026-04-18T01:19:06.588Z",
        "dateReserved": "2026-04-13T19:50:42.114Z",
        "dateUpdated": "2026-04-20T15:25:40.893Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-40168 (GCVE-0-2026-40168)

    Vulnerability from cvelistv5 – Published: 2026-04-10 19:20 – Updated: 2026-04-13 20:55
    VLAI
    Title
    Postiz has Server-Side Request Forgery via Redirect Bypass in /api/public/stream
    Summary
    Postiz is an AI social media scheduling tool. Prior to 2.21.5, the /api/public/stream endpoint is vulnerable to SSRF. Although the application validates the initially supplied URL and blocks direct private/internal hosts, it does not re-validate the final destination after HTTP redirects. As a result, an attacker can supply a public HTTPS URL that passes validation and then redirects the server-side request to an internal resource.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-04-13 20:55 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.5
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-40168",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-04-13T20:55:02.053732Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-04-13T20:55:15.792Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "references": [
              {
                "tags": [
                  "exploit"
                ],
                "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-34w8-5j2v-h6ww"
              }
            ],
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.5"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to 2.21.5, the /api/public/stream endpoint is vulnerable to SSRF. Although the application validates the initially supplied URL and blocks direct private/internal hosts, it does not re-validate the final destination after HTTP redirects. As a result, an attacker can supply a public HTTPS URL that passes validation and then redirects the server-side request to an internal resource."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "LOW",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:L",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-04-10T19:20:16.365Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-34w8-5j2v-h6ww",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-34w8-5j2v-h6ww"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/30e8b777098157362769226d1b46d83ad616cb06",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/30e8b777098157362769226d1b46d83ad616cb06"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.5",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.5"
            }
          ],
          "source": {
            "advisory": "GHSA-34w8-5j2v-h6ww",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz has Server-Side Request Forgery via Redirect Bypass in /api/public/stream"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-40168",
        "datePublished": "2026-04-10T19:20:16.365Z",
        "dateReserved": "2026-04-09T19:31:56.014Z",
        "dateUpdated": "2026-04-13T20:55:15.792Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-34590 (GCVE-0-2026-34590)

    Vulnerability from cvelistv5 – Published: 2026-04-02 17:26 – Updated: 2026-04-03 15:49
    VLAI
    Title
    Postiz: SSRF via Webhook Creation Endpoint Missing URL Safety Validation
    Summary
    Postiz is an AI social media scheduling tool. Prior to version 2.21.4, the POST /webhooks/ endpoint for creating webhooks uses WebhooksDto which validates the url field with only @IsUrl() (format check), missing the @IsSafeWebhookUrl validator that blocks internal/private network addresses. The update (PUT /webhooks/) and test (POST /webhooks/send) endpoints correctly apply @IsSafeWebhookUrl. When a post is published, the orchestrator fetches the stored webhook URL without runtime validation, enabling blind SSRF against internal services. This issue has been patched in version 2.21.4.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-04-03 15:49 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.4
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-34590",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-04-03T15:49:11.229869Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-04-03T15:49:51.856Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.4"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to version 2.21.4, the POST /webhooks/ endpoint for creating webhooks uses WebhooksDto which validates the url field with only @IsUrl() (format check), missing the @IsSafeWebhookUrl validator that blocks internal/private network addresses. The update (PUT /webhooks/) and test (POST /webhooks/send) endpoints correctly apply @IsSafeWebhookUrl. When a post is published, the orchestrator fetches the stored webhook URL without runtime validation, enabling blind SSRF against internal services. This issue has been patched in version 2.21.4."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 5.4,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-04-02T17:26:58.902Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-wc9c-7cv8-m225",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-wc9c-7cv8-m225"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/commit/5ae4c950db6aa516a31454b7a45b9480bca40a11",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/commit/5ae4c950db6aa516a31454b7a45b9480bca40a11"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.4",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.4"
            }
          ],
          "source": {
            "advisory": "GHSA-wc9c-7cv8-m225",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: SSRF via Webhook Creation Endpoint Missing URL Safety Validation"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-34590",
        "datePublished": "2026-04-02T17:26:58.902Z",
        "dateReserved": "2026-03-30T17:15:52.499Z",
        "dateUpdated": "2026-04-03T15:49:51.856Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-34577 (GCVE-0-2026-34577)

    Vulnerability from cvelistv5 – Published: 2026-04-02 17:24 – Updated: 2026-04-03 15:52
    VLAI
    Title
    Postiz: Unauthenticated Full-Read SSRF via /public/stream Endpoint with Trivially Bypassable Extension Check
    Summary
    Postiz is an AI social media scheduling tool. Prior to version 2.21.3, the GET /public/stream endpoint in PublicController accepts a user-supplied url query parameter and proxies the full HTTP response back to the caller. The only validation is url.endsWith('mp4'), which is trivially bypassable by appending .mp4 as a query parameter value or URL fragment. The endpoint requires no authentication and has no SSRF protections, allowing an unauthenticated attacker to read responses from internal services, cloud metadata endpoints, and other network-internal resources. This issue has been patched in version 2.21.3.
    SSVC
    Exploitation: poc Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-04-03 15:52 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    References
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.3
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-34577",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-04-03T15:52:16.506297Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-04-03T15:52:56.345Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.3"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to version 2.21.3, the GET /public/stream endpoint in PublicController accepts a user-supplied url query parameter and proxies the full HTTP response back to the caller. The only validation is url.endsWith(\u0027mp4\u0027), which is trivially bypassable by appending .mp4 as a query parameter value or URL fragment. The endpoint requires no authentication and has no SSRF protections, allowing an unauthenticated attacker to read responses from internal services, cloud metadata endpoints, and other network-internal resources. This issue has been patched in version 2.21.3."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 8.6,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "CHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-04-02T17:24:33.725Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-mv6h-v3jg-g539",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-mv6h-v3jg-g539"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.3",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.3"
            }
          ],
          "source": {
            "advisory": "GHSA-mv6h-v3jg-g539",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: Unauthenticated Full-Read SSRF via /public/stream Endpoint with Trivially Bypassable Extension Check"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-34577",
        "datePublished": "2026-04-02T17:24:33.725Z",
        "dateReserved": "2026-03-30T16:56:30.998Z",
        "dateUpdated": "2026-04-03T15:52:56.345Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-34576 (GCVE-0-2026-34576)

    Vulnerability from cvelistv5 – Published: 2026-04-02 17:23 – Updated: 2026-04-02 18:57
    VLAI
    Title
    Postiz: SSRF in upload-from-url endpoint allows fetching internal resources and cloud metadata
    Summary
    Postiz is an AI social media scheduling tool. Prior to version 2.21.3, the POST /public/v1/upload-from-url endpoint accepts a user-supplied URL and fetches it server-side using axios.get() with no SSRF protections. The only validation is a file extension check (.png, .jpg, etc.) which is trivially bypassed by appending an image extension to any URL path. An authenticated API user can fetch internal network resources, cloud instance metadata, and other internal services, with the response data uploaded to storage and returned to the attacker. This issue has been patched in version 2.21.3.
    SSVC
    Exploitation: poc Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-04-02 18:57 UTC
    CWE
    • CWE-918 - Server-Side Request Forgery (SSRF)
    References
    Impacted products
    Vendor Product Version
    gitroomhq postiz-app Affected: < 2.21.3
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-34576",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-04-02T18:57:23.395181Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-04-02T18:57:33.241Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "postiz-app",
              "vendor": "gitroomhq",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.21.3"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Postiz is an AI social media scheduling tool. Prior to version 2.21.3, the POST /public/v1/upload-from-url endpoint accepts a user-supplied URL and fetches it server-side using axios.get() with no SSRF protections. The only validation is a file extension check (.png, .jpg, etc.) which is trivially bypassed by appending an image extension to any URL path. An authenticated API user can fetch internal network resources, cloud instance metadata, and other internal services, with the response data uploaded to storage and returned to the attacker. This issue has been patched in version 2.21.3."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.3,
                "baseSeverity": "HIGH",
                "privilegesRequired": "LOW",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "HIGH",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "NONE"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-918",
                  "description": "CWE-918: Server-Side Request Forgery (SSRF)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-04-02T17:23:14.827Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-89vp-m2qw-7v34",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/security/advisories/GHSA-89vp-m2qw-7v34"
            },
            {
              "name": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.3",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/gitroomhq/postiz-app/releases/tag/v2.21.3"
            }
          ],
          "source": {
            "advisory": "GHSA-89vp-m2qw-7v34",
            "discovery": "UNKNOWN"
          },
          "title": "Postiz: SSRF in upload-from-url endpoint allows fetching internal resources and cloud metadata"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-34576",
        "datePublished": "2026-04-02T17:23:14.827Z",
        "dateReserved": "2026-03-30T16:56:30.998Z",
        "dateUpdated": "2026-04-02T18:57:33.241Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }