Skip to content
Heist/ feed
Back to feed
High

Job Iteration API is vulnerable to OS Command Injection attack through its CsvEnumerator class

Type: advisorySources: OSV

The Job Iteration API is an an extension for ActiveJob that make jobs interruptible and resumable Versions prior to 1.11.0 have an arbitrary code execution vulnerability in the `CsvEnumerator` class. This vulnerability can be exploited by an attacker to execute arbitrary commands on the system where the application is running, potentially leading to unauthorized access, data leakage, or complete system compromise. The issue is fixed in versions `1.11.0` and above. Users can mitigate the risk by avoiding the use of untrusted input in the `CsvEnumerator` class and ensuring that any file paths are properly sanitized and validated before being passed to the class methods. Users should avoid using the `count_of_rows_in_file` method with untrusted CSV filenames.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-53623
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 21:13 UTC · Revision 1

Source evidence

Job Iteration API is vulnerable to OS Command Injection attack through its CsvEnumerator class

core-osv · Original source

Published 14 Jul 2025, 19:56 UTC

The Job Iteration API is an an extension for ActiveJob that make jobs interruptible and resumable Versions prior to 1.11.0 have an arbitrary code execution vulnerability in the `CsvEnumerator` class. This vulnerability can be exploited by an attacker to execute arbitrary commands on the system where the application is running, potentially leading to unauthorized access, data leakage, or complete system compromise. The issue is fixed in versions `1.11.0` and above. Users can mitigate the risk by avoiding the use of untrusted input in the `CsvEnumerator` class and ensuring that any file paths are properly sanitized and validated before being passed to the class methods. Users should avoid using the `count_of_rows_in_file` method with untrusted CSV filenames.

osv:CVE-2025-53623
Complete source record
{
  "id": "2b6192ed64859a14f617b479c996f65b2bce36e2d16fc3f19225a3e0d10f5933",
  "url": "https://osv.dev/vulnerability/CVE-2025-53623",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Job Iteration API is vulnerable to OS Command Injection attack through its CsvEnumerator class",
    "summary": "The Job Iteration API is an an extension for ActiveJob that make jobs interruptible and resumable Versions prior to 1.11.0 have an arbitrary code execution vulnerability in the `CsvEnumerator` class. This vulnerability can be exploited by an attacker to execute arbitrary commands on the system where the application is running, potentially leading to unauthorized access, data leakage, or complete system compromise. The issue is fixed in versions `1.11.0` and above. Users can mitigate the risk by avoiding the use of untrusted input in the `CsvEnumerator` class and ensuring that any file paths are properly sanitized and validated before being passed to the class methods. Users should avoid using the `count_of_rows_in_file` method with untrusted CSV filenames.",
    "evidence": "osv:CVE-2025-53623",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-53623",
      "aliases": [
        "CVE-2025-53623",
        "GHSA-6qjf-g333-pv38"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "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/E:U"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/shopify/job-iteration",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3972c6edb0c0924e0fbc019ca1f31517a384ef5c"
                },
                {
                  "fixed": "1a7adfdd041105a5e45e774cadc6b973a292ba55"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.11.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1a7adfdd041105a5e45e774cadc6b973a292ba55"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "3972c6edb0c0924e0fbc019ca1f31517a384ef5c"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v1.11.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v1.10.0",
            "v1.9.0",
            "v1.8.0",
            "v1.7.0",
            "v1.6.0",
            "v1.5.1",
            "v1.5.0",
            "v1.4.1",
            "v1.4.0",
            "v1.3.6",
            "v1.3.4",
            "v1.3.3",
            "v1.3.2",
            "v1.3.0",
            "v1.2.0",
            "v1.1.14",
            "v1.1.13",
            "v1.1.12",
            "v1.1.10",
            "v1.1.9",
            "v1.1.8",
            "v1.1.7",
            "v1.1.5",
            "v1.1.4",
            "v1.1.3",
            "v1.1.2",
            "v1.1.1",
            "v1.1.0",
            "v1.0.0",
            "v0.9.8",
            "v0.9.7",
            "v0.9.6",
            "v0.9.5",
            "v0.9.4",
            "v0.9.3",
            "v0.9.2",
            "v0.9.1",
            "v0.9.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-53623.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:39.816783513Z",
      "provider": "osv",
      "references": [
        "https://github.com/Shopify/job-iteration/releases/tag/v1.11.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/53xxx/CVE-2025-53623.json",
        "https://github.com/Shopify/job-iteration/security/advisories/GHSA-6qjf-g333-pv38",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-53623",
        "https://github.com/Shopify/job-iteration/commit/1a7adfdd041105a5e45e774cadc6b973a292ba55",
        "https://github.com/Shopify/job-iteration/pull/595"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-78"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/53xxx/CVE-2025-53623.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-53623",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 507093,
  "published_at": "2025-07-14T19:56:54.995+00:00"
}