Search

Find a vulnerability

Search criteria

    4 vulnerabilities found for Data::RoaringBitmap::Shared by EGOR

    CVE-2026-65065 (GCVE-0-2026-65065)

    Vulnerability from nvd – Published: 2026-07-21 19:08 – Updated: 2026-07-21 19:08
    VLAI
    Title
    Data::RoaringBitmap::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW
    Summary
    Data::RoaringBitmap::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW. The segment is created in roaring.h with open(path, O_RDWR|O_CREAT, 0666). The mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable). O_NOFOLLOW is absent, so a symlink planted at the path is followed, and O_EXCL is absent, so the open silently uses a pre-planted file instead of failing. A "Shared" segment naturally lives in a shared directory such as /tmp or /dev/shm, where any local user can read the IPC payloads stored in the world-readable segment, and a pre-planted file or symlink at the path lets a local attacker win a pre-creation race or redirect the open.
    Severity
    No CVSS data available.
    CWE
    • CWE-732 - Incorrect Permission Assignment for Critical Resource
    • CWE-59 - Improper Link Resolution Before File Access
    Assigner
    Impacted products
    Vendor Product Version
    EGOR Data::RoaringBitmap::Shared Affected: 0 , < 0.02 (custom)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://cpan.org/modules",
              "defaultStatus": "unaffected",
              "packageName": "Data-RoaringBitmap-Shared",
              "product": "Data::RoaringBitmap::Shared",
              "programFiles": [
                "roaring.h"
              ],
              "repo": "https://github.com/vividsnow/perl5-data-roaringbitmap-shared",
              "vendor": "EGOR",
              "versions": [
                {
                  "lessThan": "0.02",
                  "status": "affected",
                  "version": "0",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Data::RoaringBitmap::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW.\n\nThe segment is created in roaring.h with open(path, O_RDWR|O_CREAT, 0666). The mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable). O_NOFOLLOW is absent, so a symlink planted at the path is followed, and O_EXCL is absent, so the open silently uses a pre-planted file instead of failing.\n\nA \"Shared\" segment naturally lives in a shared directory such as /tmp or /dev/shm, where any local user can read the IPC payloads stored in the world-readable segment, and a pre-planted file or symlink at the path lets a local attacker win a pre-creation race or redirect the open."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-732",
                  "description": "CWE-732 Incorrect Permission Assignment for Critical Resource",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-59",
                  "description": "CWE-59 Improper Link Resolution Before File Access",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-21T19:08:49.522Z",
            "orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
            "shortName": "CPANSec"
          },
          "references": [
            {
              "url": "https://metacpan.org/release/EGOR/Data-RoaringBitmap-Shared-0.02/diff/EGOR/Data-RoaringBitmap-Shared-0.01#roaring.h"
            },
            {
              "tags": [
                "release-notes"
              ],
              "url": "https://metacpan.org/release/EGOR/Data-RoaringBitmap-Shared-0.02/changes"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "value": "Upgrade to Data::RoaringBitmap::Shared 0.02 or later, which creates the backing file mode 0600 (owner-only) with O_EXCL and O_NOFOLLOW."
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Data::RoaringBitmap::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW",
          "workarounds": [
            {
              "lang": "en",
              "value": "For deployments that cannot upgrade to 0.02, set a restrictive umask so the backing file is not world-readable and place it in a directory only the owning user can access."
            }
          ],
          "x_generator": {
            "engine": "cpansec-cna-tool 0.1"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
        "assignerShortName": "CPANSec",
        "cveId": "CVE-2026-65065",
        "datePublished": "2026-07-21T19:08:49.522Z",
        "dateReserved": "2026-07-21T15:29:37.116Z",
        "dateUpdated": "2026-07-21T19:08:49.522Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-59143 (GCVE-0-2026-59143)

    Vulnerability from nvd – Published: 2026-07-21 19:04 – Updated: 2026-07-21 19:04
    VLAI
    Title
    Data::RoaringBitmap::Shared versions before 0.02 for Perl allow an out-of-bounds read via an unvalidated container offset and cardinality in rb_contains_locked
    Summary
    Data::RoaringBitmap::Shared versions before 0.02 for Perl allow an out-of-bounds read via an unvalidated container offset and cardinality in rb_contains_locked. The attach-time validator rb_validate_header checks the header scalars and region layout against the file size, but does not validate the bucket contents it then trusts. rb_contains_locked forms a container pointer as pool + container_off * 8192 from a raw file-stored offset and then searches over a file-stored cardinality, neither bounded against the container pool capacity or the fixed 8192-byte slot size. A local peer that can write the backing file can leave the header valid while poisoning a bucket, so the next membership query dereferences a file-controlled wild pointer and scans a file-controlled count, reading adjacent memory or crashing the process.
    Severity
    No CVSS data available.
    CWE
    Assigner
    Impacted products
    Vendor Product Version
    EGOR Data::RoaringBitmap::Shared Affected: 0 , < 0.02 (custom)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://cpan.org/modules",
              "defaultStatus": "unaffected",
              "packageName": "Data-RoaringBitmap-Shared",
              "product": "Data::RoaringBitmap::Shared",
              "programFiles": [
                "roaring.h"
              ],
              "programRoutines": [
                {
                  "name": "rb_contains_locked"
                }
              ],
              "repo": "https://github.com/vividsnow/perl5-data-roaringbitmap-shared",
              "vendor": "EGOR",
              "versions": [
                {
                  "lessThan": "0.02",
                  "status": "affected",
                  "version": "0",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Data::RoaringBitmap::Shared versions before 0.02 for Perl allow an out-of-bounds read via an unvalidated container offset and cardinality in rb_contains_locked.\n\nThe attach-time validator rb_validate_header checks the header scalars and region layout against the file size, but does not validate the bucket contents it then trusts. rb_contains_locked forms a container pointer as pool + container_off * 8192 from a raw file-stored offset and then searches over a file-stored cardinality, neither bounded against the container pool capacity or the fixed 8192-byte slot size.\n\nA local peer that can write the backing file can leave the header valid while poisoning a bucket, so the next membership query dereferences a file-controlled wild pointer and scans a file-controlled count, reading adjacent memory or crashing the process."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-125",
                  "description": "CWE-125 Out-of-bounds Read",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-21T19:04:04.057Z",
            "orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
            "shortName": "CPANSec"
          },
          "references": [
            {
              "url": "https://metacpan.org/release/EGOR/Data-RoaringBitmap-Shared-0.02/diff/EGOR/Data-RoaringBitmap-Shared-0.01#roaring.h"
            },
            {
              "tags": [
                "release-notes"
              ],
              "url": "https://metacpan.org/release/EGOR/Data-RoaringBitmap-Shared-0.02/changes"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "value": "Upgrade to Data::RoaringBitmap::Shared 0.02 or later, which clamps an out-of-range container offset to the empty sentinel and caps the cardinality at the slot capacity."
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Data::RoaringBitmap::Shared versions before 0.02 for Perl allow an out-of-bounds read via an unvalidated container offset and cardinality in rb_contains_locked",
          "workarounds": [
            {
              "lang": "en",
              "value": "For deployments that cannot upgrade to 0.02, place the backing file in a directory writable only by the owning user, so a local peer cannot tamper with the buckets the query path reads."
            }
          ],
          "x_generator": {
            "engine": "cpansec-cna-tool 0.1"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
        "assignerShortName": "CPANSec",
        "cveId": "CVE-2026-59143",
        "datePublished": "2026-07-21T19:04:04.057Z",
        "dateReserved": "2026-07-02T16:24:17.912Z",
        "dateUpdated": "2026-07-21T19:04:04.057Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-65065 (GCVE-0-2026-65065)

    Vulnerability from cvelistv5 – Published: 2026-07-21 19:08 – Updated: 2026-07-21 19:08
    VLAI
    Title
    Data::RoaringBitmap::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW
    Summary
    Data::RoaringBitmap::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW. The segment is created in roaring.h with open(path, O_RDWR|O_CREAT, 0666). The mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable). O_NOFOLLOW is absent, so a symlink planted at the path is followed, and O_EXCL is absent, so the open silently uses a pre-planted file instead of failing. A "Shared" segment naturally lives in a shared directory such as /tmp or /dev/shm, where any local user can read the IPC payloads stored in the world-readable segment, and a pre-planted file or symlink at the path lets a local attacker win a pre-creation race or redirect the open.
    Severity
    No CVSS data available.
    CWE
    • CWE-732 - Incorrect Permission Assignment for Critical Resource
    • CWE-59 - Improper Link Resolution Before File Access
    Assigner
    Impacted products
    Vendor Product Version
    EGOR Data::RoaringBitmap::Shared Affected: 0 , < 0.02 (custom)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://cpan.org/modules",
              "defaultStatus": "unaffected",
              "packageName": "Data-RoaringBitmap-Shared",
              "product": "Data::RoaringBitmap::Shared",
              "programFiles": [
                "roaring.h"
              ],
              "repo": "https://github.com/vividsnow/perl5-data-roaringbitmap-shared",
              "vendor": "EGOR",
              "versions": [
                {
                  "lessThan": "0.02",
                  "status": "affected",
                  "version": "0",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Data::RoaringBitmap::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW.\n\nThe segment is created in roaring.h with open(path, O_RDWR|O_CREAT, 0666). The mode is 0666, so under the default umask 022 the file is created mode 0644 (world-readable). O_NOFOLLOW is absent, so a symlink planted at the path is followed, and O_EXCL is absent, so the open silently uses a pre-planted file instead of failing.\n\nA \"Shared\" segment naturally lives in a shared directory such as /tmp or /dev/shm, where any local user can read the IPC payloads stored in the world-readable segment, and a pre-planted file or symlink at the path lets a local attacker win a pre-creation race or redirect the open."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-732",
                  "description": "CWE-732 Incorrect Permission Assignment for Critical Resource",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-59",
                  "description": "CWE-59 Improper Link Resolution Before File Access",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-21T19:08:49.522Z",
            "orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
            "shortName": "CPANSec"
          },
          "references": [
            {
              "url": "https://metacpan.org/release/EGOR/Data-RoaringBitmap-Shared-0.02/diff/EGOR/Data-RoaringBitmap-Shared-0.01#roaring.h"
            },
            {
              "tags": [
                "release-notes"
              ],
              "url": "https://metacpan.org/release/EGOR/Data-RoaringBitmap-Shared-0.02/changes"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "value": "Upgrade to Data::RoaringBitmap::Shared 0.02 or later, which creates the backing file mode 0600 (owner-only) with O_EXCL and O_NOFOLLOW."
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Data::RoaringBitmap::Shared versions before 0.02 for Perl create a world-readable mmap backing file and open it without O_EXCL or O_NOFOLLOW",
          "workarounds": [
            {
              "lang": "en",
              "value": "For deployments that cannot upgrade to 0.02, set a restrictive umask so the backing file is not world-readable and place it in a directory only the owning user can access."
            }
          ],
          "x_generator": {
            "engine": "cpansec-cna-tool 0.1"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
        "assignerShortName": "CPANSec",
        "cveId": "CVE-2026-65065",
        "datePublished": "2026-07-21T19:08:49.522Z",
        "dateReserved": "2026-07-21T15:29:37.116Z",
        "dateUpdated": "2026-07-21T19:08:49.522Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-59143 (GCVE-0-2026-59143)

    Vulnerability from cvelistv5 – Published: 2026-07-21 19:04 – Updated: 2026-07-21 19:04
    VLAI
    Title
    Data::RoaringBitmap::Shared versions before 0.02 for Perl allow an out-of-bounds read via an unvalidated container offset and cardinality in rb_contains_locked
    Summary
    Data::RoaringBitmap::Shared versions before 0.02 for Perl allow an out-of-bounds read via an unvalidated container offset and cardinality in rb_contains_locked. The attach-time validator rb_validate_header checks the header scalars and region layout against the file size, but does not validate the bucket contents it then trusts. rb_contains_locked forms a container pointer as pool + container_off * 8192 from a raw file-stored offset and then searches over a file-stored cardinality, neither bounded against the container pool capacity or the fixed 8192-byte slot size. A local peer that can write the backing file can leave the header valid while poisoning a bucket, so the next membership query dereferences a file-controlled wild pointer and scans a file-controlled count, reading adjacent memory or crashing the process.
    Severity
    No CVSS data available.
    CWE
    Assigner
    Impacted products
    Vendor Product Version
    EGOR Data::RoaringBitmap::Shared Affected: 0 , < 0.02 (custom)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://cpan.org/modules",
              "defaultStatus": "unaffected",
              "packageName": "Data-RoaringBitmap-Shared",
              "product": "Data::RoaringBitmap::Shared",
              "programFiles": [
                "roaring.h"
              ],
              "programRoutines": [
                {
                  "name": "rb_contains_locked"
                }
              ],
              "repo": "https://github.com/vividsnow/perl5-data-roaringbitmap-shared",
              "vendor": "EGOR",
              "versions": [
                {
                  "lessThan": "0.02",
                  "status": "affected",
                  "version": "0",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Data::RoaringBitmap::Shared versions before 0.02 for Perl allow an out-of-bounds read via an unvalidated container offset and cardinality in rb_contains_locked.\n\nThe attach-time validator rb_validate_header checks the header scalars and region layout against the file size, but does not validate the bucket contents it then trusts. rb_contains_locked forms a container pointer as pool + container_off * 8192 from a raw file-stored offset and then searches over a file-stored cardinality, neither bounded against the container pool capacity or the fixed 8192-byte slot size.\n\nA local peer that can write the backing file can leave the header valid while poisoning a bucket, so the next membership query dereferences a file-controlled wild pointer and scans a file-controlled count, reading adjacent memory or crashing the process."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-125",
                  "description": "CWE-125 Out-of-bounds Read",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-21T19:04:04.057Z",
            "orgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
            "shortName": "CPANSec"
          },
          "references": [
            {
              "url": "https://metacpan.org/release/EGOR/Data-RoaringBitmap-Shared-0.02/diff/EGOR/Data-RoaringBitmap-Shared-0.01#roaring.h"
            },
            {
              "tags": [
                "release-notes"
              ],
              "url": "https://metacpan.org/release/EGOR/Data-RoaringBitmap-Shared-0.02/changes"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "value": "Upgrade to Data::RoaringBitmap::Shared 0.02 or later, which clamps an out-of-range container offset to the empty sentinel and caps the cardinality at the slot capacity."
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Data::RoaringBitmap::Shared versions before 0.02 for Perl allow an out-of-bounds read via an unvalidated container offset and cardinality in rb_contains_locked",
          "workarounds": [
            {
              "lang": "en",
              "value": "For deployments that cannot upgrade to 0.02, place the backing file in a directory writable only by the owning user, so a local peer cannot tamper with the buckets the query path reads."
            }
          ],
          "x_generator": {
            "engine": "cpansec-cna-tool 0.1"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "9b29abf9-4ab0-4765-b253-1875cd9b441e",
        "assignerShortName": "CPANSec",
        "cveId": "CVE-2026-59143",
        "datePublished": "2026-07-21T19:04:04.057Z",
        "dateReserved": "2026-07-02T16:24:17.912Z",
        "dateUpdated": "2026-07-21T19:04:04.057Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }