← Back to CVE Explorer

CVE-2026-19734

Full vulnerability record from the local CVENow database.

Description

Missing Authorization and Authorization Bypass Through User-Controlled Key in the product management component in Roskus Prospero Flow CRM before 5.4.7 allows authenticated users of any company to read the full sensitive data (price, cost, stock, SKU, and barcode) of another company's product and to hijack that product by reassigning its company_id, via the product's numeric identifier, because `ProductUpdateController` did not extend `MainController` and therefore required no authentication check on the read endpoint, and `ProductRepository::save()` retrieved the record via `Product::find($data['id'])` without constraining the query to the authenticated user's company before overwriting its company_id.

Severity
HIGH
CVSS score
8.6 (v4.0)
Vulnerability status
Deferred
Source identifier
4daa8cea-433a-44bd-9456-53b127fc289a
Published
2026-08-13 15:19:38.940000
Last modified
2026-10-23 18:10:00.167000
View original CVE JSON
{
  "id": "CVE-2026-19734",
  "sourceIdentifier": "4daa8cea-433a-44bd-9456-53b127fc289a",
  "published": "2026-08-13T15:19:38.940",
  "lastModified": "2026-10-23T18:10:00.167",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Missing Authorization and Authorization Bypass Through User-Controlled Key in the product management component in Roskus Prospero Flow CRM before 5.4.7 allows authenticated users of any company to read the full sensitive data (price, cost, stock, SKU, and barcode) of another company's product and to hijack that product by reassigning its company_id, via the product's numeric identifier, because `ProductUpdateController` did not extend `MainController` and therefore required no authentication check on the read endpoint, and `ProductRepository::save()` retrieved the record via `Product::find($data['id'])` without constraining the query to the authenticated user's company before overwriting its company_id."
    },
    {
      "lang": "es",
      "value": "Autorización faltante y omisión de autorización a través de clave controlada por el usuario en el componente de gestión de productos en Roskus Prospero Flow CRM anterior a 5.4.7 permite a usuarios autenticados de cualquier empresa leer los datos sensibles completos (precio, costo, stock, SKU y código de barras) de un producto de otra empresa y secuestrar ese producto reasignando su company_id, a través del identificador numérico del producto, porque ’ProductUpdateController’ no extendía ’MainController’ y por lo tanto no requería ninguna verificación de autenticación en el punto final de lectura, y ’ProductRepository::save()’ recuperaba el registro a través de ’Product::find($data[’id’])’ sin restringir la consulta a la empresa del usuario autenticado antes de sobrescribir su company_id."
    }
  ],
  "affected": [
    {
      "source": "4daa8cea-433a-44bd-9456-53b127fc289a",
      "affectedData": [
        {
          "vendor": "Roskus",
          "product": "Prospero Flow CRM",
          "defaultStatus": "unaffected",
          "modules": [
            "Product management"
          ],
          "programFiles": [
            "app/Http/Controllers/Product/ProductUpdateController.php",
            "app/Http/Controllers/Product/ProductCreateController.php",
            "app/Repositories/ProductRepository.php"
          ],
          "repo": "https://github.com/Roskus/prospero-flow-crm",
          "versions": [
            {
              "version": "0",
              "lessThan": "5.4.7",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV40": [
      {
        "source": "4daa8cea-433a-44bd-9456-53b127fc289a",
        "type": "Secondary",
        "cvssData": {
          "version": "4.0",
          "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
          "baseScore": 8.6,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "attackRequirements": "NONE",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "vulnConfidentialityImpact": "HIGH",
          "vulnIntegrityImpact": "HIGH",
          "vulnAvailabilityImpact": "NONE",
          "subConfidentialityImpact": "NONE",
          "subIntegrityImpact": "NONE",
          "subAvailabilityImpact": "NONE",
          "exploitMaturity": "NOT_DEFINED",
          "confidentialityRequirement": "NOT_DEFINED",
          "integrityRequirement": "NOT_DEFINED",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "Safety": "NOT_DEFINED",
          "Automatable": "NOT_DEFINED",
          "Recovery": "NOT_DEFINED",
          "valueDensity": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "NOT_DEFINED",
          "providerUrgency": "NOT_DEFINED"
        }
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-08-13T17:00:14.671007Z",
          "id": "CVE-2026-19734",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "4daa8cea-433a-44bd-9456-53b127fc289a",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-639"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/Roskus/prospero-flow-crm/commit/f36c2a115f4c28c82181f1798c01582ae953b932",
      "source": "4daa8cea-433a-44bd-9456-53b127fc289a"
    },
    {
      "url": "https://github.com/Roskus/prospero-flow-crm/releases/tag/v5.5.3",
      "source": "4daa8cea-433a-44bd-9456-53b127fc289a"
    },
    {
      "url": "https://secur0.com/en/cna/cve-list/cve-2026-19734-idor-in-prospero-flow-crm-allows-cross-tenant-product-disclosure-and-hijacking",
      "source": "4daa8cea-433a-44bd-9456-53b127fc289a"
    }
  ]
}