OPENSUSE-SU-2026:21496-1

Vulnerability from csaf_opensuse - Published: 2026-07-29 09:24 - Updated: 2026-09-17 17:40
Summary
Security update for perl-Mojolicious
Severity
Moderate
Notes
Title of the patch: Security update for perl-Mojolicious
Description of the patch: This update for perl-Mojolicious fixes the following issues: Changes in perl-Mojolicious: - updated to 9.480.0 (9.48) - Fixed a security issue where CSRF tokens were vulnerable to BREACH attacks. Tokens are now masked with a fresh random value on every request, instead of being reused for the whole lifetime of a session. CVE-2026-15747 bsc#1271431 - updated to 9.470.0 (9.47) - Added support for the QUERY HTTP request method from RFC 10008. - Added query and query_p methods to Mojo::UserAgent. - Added query method to Mojolicious::Routes::Route. - Added query method to Mojolicious::Lite. - Added query_ok method to Test::Mojo. - Fixed a security issue where the pure-Perl implementation of Mojo::JSON could exhaust all available memory when decoding deeply nested data. Decoding is now limited to 512 levels of nesting, to match the default of Cpanel::JSON::XS. - Fixed a memory leak in Morbo. (heikojansen) - Fixed Mojo::File::list_tree to no longer follow symbolic links to directories. - updated to 9.460.0 (9.46) - Added random_bytes function to Mojo::Util. (leont) - Improved randomness for CSRF token generation. (leont) - Fixed tls_options handling in Mojo::IOLoop::TLS. (krauro) - Fixed spec compliance issue with attribute selectors in Mojo::DOM::CSS. - updated to 9.450.0 (9.45) - Fixed portability issue in WebSocket tests. - Fixed various spec compliance issues in Mojo::DOM. - Fixed permessage-deflate support in Mojo::Transaction::WebSocket to be more interoperable with non-spec compliant implementations. - Fixed punycode roundtrip bug in Mojo::Util. - Fixed Windows compatibility issues of Mojo::File::list_tree. - updated to 9.420.0 (9.42) - Un-deprecated the spurt method in Mojo::File, it is now an alternative to spew. - Removed experimental status from top-level await support in Mojo::Promise. - Removed experimental status from encrypted session cookie support. - Removed experimental status from persistent cookie support. - Removed experimental status from samesite cookie support. - Removed experimental status from colourful log messages. - Removed experimental status from freeze option in Mojo::IOLoop. - Removed experimental status from check and raise functions in Mojo::Exception. - Fixed Cpanel::JSON::XS compatibility issues. (ilmari) - Fixed async/await memory leak in Mojo::Promise. (TFBW)
Patchnames: openSUSE-Leap-16.0-packagehub-447
Terms of use: CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).
Affected products
Product Identifier Version Remediation
Unresolved product id: openSUSE Leap 16.0:perl-Mojolicious-0:9.480.0-bp160.1.1.noarch —
Vendor Fix
Threats
Impact moderate

{
  "document": {
    "aggregate_severity": {
      "namespace": "https://www.suse.com/support/security/rating/",
      "text": "moderate"
    },
    "category": "csaf_security_advisory",
    "csaf_version": "2.0",
    "distribution": {
      "text": "Copyright 2024 SUSE LLC. All rights reserved.",
      "tlp": {
        "label": "WHITE",
        "url": "https://www.first.org/tlp/"
      }
    },
    "lang": "en",
    "notes": [
      {
        "category": "summary",
        "text": "Security update for perl-Mojolicious",
        "title": "Title of the patch"
      },
      {
        "category": "description",
        "text": "This update for perl-Mojolicious fixes the following issues:\n\nChanges in perl-Mojolicious:\n\n- updated to 9.480.0 (9.48)\n    - Fixed a security issue where CSRF tokens were vulnerable to BREACH attacks. Tokens are now masked with a fresh\n      random value on every request, instead of being reused for the whole lifetime of a session.\n      CVE-2026-15747 bsc#1271431\n\n- updated to 9.470.0 (9.47)\n    - Added support for the QUERY HTTP request method from RFC 10008.\n    - Added query and query_p methods to Mojo::UserAgent.\n    - Added query method to Mojolicious::Routes::Route.\n    - Added query method to Mojolicious::Lite.\n    - Added query_ok method to Test::Mojo.\n    - Fixed a security issue where the pure-Perl implementation of Mojo::JSON could exhaust all available memory when\n      decoding deeply nested data. Decoding is now limited to 512 levels of nesting, to match the default of\n      Cpanel::JSON::XS.\n    - Fixed a memory leak in Morbo. (heikojansen)\n    - Fixed Mojo::File::list_tree to no longer follow symbolic links to directories.\n\n- updated to 9.460.0 (9.46)\n    - Added random_bytes function to Mojo::Util. (leont)\n    - Improved randomness for CSRF token generation. (leont)\n    - Fixed tls_options handling in Mojo::IOLoop::TLS. (krauro)\n    - Fixed spec compliance issue with attribute selectors in Mojo::DOM::CSS.\n\n- updated to 9.450.0 (9.45)\n    - Fixed portability issue in WebSocket tests.\n    - Fixed various spec compliance issues in Mojo::DOM.\n    - Fixed permessage-deflate support in Mojo::Transaction::WebSocket to be more interoperable with non-spec compliant\n      implementations.\n    - Fixed punycode roundtrip bug in Mojo::Util.\n    - Fixed Windows compatibility issues of Mojo::File::list_tree.\n\n- updated to 9.420.0 (9.42)\n    - Un-deprecated the spurt method in Mojo::File, it is now an alternative to spew.\n    - Removed experimental status from top-level await support in Mojo::Promise.\n    - Removed experimental status from encrypted session cookie support.\n    - Removed experimental status from persistent cookie support.\n    - Removed experimental status from samesite cookie support.\n    - Removed experimental status from colourful log messages.\n    - Removed experimental status from freeze option in Mojo::IOLoop.\n    - Removed experimental status from check and raise functions in Mojo::Exception.\n    - Fixed Cpanel::JSON::XS compatibility issues. (ilmari)\n    - Fixed async/await memory leak in Mojo::Promise. (TFBW)\n",
        "title": "Description of the patch"
      },
      {
        "category": "details",
        "text": "openSUSE-Leap-16.0-packagehub-447",
        "title": "Patchnames"
      },
      {
        "category": "legal_disclaimer",
        "text": "CSAF 2.0 data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).",
        "title": "Terms of use"
      }
    ],
    "publisher": {
      "category": "vendor",
      "contact_details": "https://www.suse.com/support/security/contact/",
      "name": "SUSE Product Security Team",
      "namespace": "https://www.suse.com/"
    },
    "references": [
      {
        "category": "external",
        "summary": "SUSE ratings",
        "url": "https://www.suse.com/support/security/rating/"
      },
      {
        "category": "self",
        "summary": "URL of this CSAF notice",
        "url": "https://ftp.suse.com/pub/projects/security/csaf/opensuse-su-2026_21496-1.json"
      },
      {
        "category": "self",
        "summary": "SUSE Bug 1271431",
        "url": "https://bugzilla.suse.com/1271431"
      },
      {
        "category": "self",
        "summary": "SUSE CVE CVE-2026-15747 page",
        "url": "https://www.suse.com/security/cve/CVE-2026-15747/"
      }
    ],
    "title": "Security update for perl-Mojolicious",
    "tracking": {
      "current_release_date": "2026-09-17T17:40:50Z",
      "generator": {
        "date": "2026-07-29T09:24:06Z",
        "engine": {
          "name": "cve-database.git:bin/generate-csaf.pl",
          "version": "1"
        }
      },
      "id": "openSUSE-SU-2026:21496-1",
      "initial_release_date": "2026-07-29T09:24:06Z",
      "revision_history": [
        {
          "date": "2026-07-29T09:24:06Z",
          "number": "1",
          "summary": "Current version"
        },
        {
          "date": "2026-09-16T20:43:59Z",
          "number": "2",
          "summary": "unknown changes"
        },
        {
          "date": "2026-09-16T21:45:38Z",
          "number": "3",
          "summary": "unknown changes"
        },
        {
          "date": "2026-09-17T17:40:50Z",
          "number": "4",
          "summary": "unknown changes"
        }
      ],
      "status": "final",
      "version": "4"
    }
  },
  "product_tree": {
    "branches": [
      {
        "branches": [
          {
            "branches": [
              {
                "category": "product_version",
                "name": "perl-Mojolicious-0:9.480.0-bp160.1.1.noarch",
                "product": {
                  "name": "perl-Mojolicious-0:9.480.0-bp160.1.1.noarch",
                  "product_id": "perl-Mojolicious-0:9.480.0-bp160.1.1.noarch",
                  "product_identification_helper": {
                    "purl": "pkg:rpm/suse/perl-Mojolicious@9.480.0-bp160.1.1?arch=noarch\u0026upstream=perl-Mojolicious-0:9.480.0-bp160.1.1.src.rpm"
                  }
                }
              }
            ],
            "category": "architecture",
            "name": "noarch"
          },
          {
            "branches": [
              {
                "category": "product_name",
                "name": "openSUSE Leap 16.0",
                "product": {
                  "name": "openSUSE Leap 16.0",
                  "product_id": "openSUSE Leap 16.0"
                }
              }
            ],
            "category": "product_family",
            "name": "SUSE Linux Enterprise"
          }
        ],
        "category": "vendor",
        "name": "SUSE"
      }
    ],
    "relationships": [
      {
        "category": "default_component_of",
        "full_product_name": {
          "name": "perl-Mojolicious-0:9.480.0-bp160.1.1.noarch as component of openSUSE Leap 16.0",
          "product_id": "openSUSE Leap 16.0:perl-Mojolicious-0:9.480.0-bp160.1.1.noarch"
        },
        "product_reference": "perl-Mojolicious-0:9.480.0-bp160.1.1.noarch",
        "relates_to_product_reference": "openSUSE Leap 16.0"
      }
    ]
  },
  "vulnerabilities": [
    {
      "cve": "CVE-2026-15747",
      "ids": [
        {
          "system_name": "SUSE CVE Page",
          "text": "https://www.suse.com/security/cve/CVE-2026-15747"
        }
      ],
      "notes": [
        {
          "category": "general",
          "text": "Mojolicious versions from 4.59 before 9.48 for Perl expose a stable representation of the session CSRF token to a BREACH compression oracle.\n\n_csrf_token generates and caches one token per session and returns the same value on every call, and _csrf_field places that value in a hidden `csrf_token` input. When a response carrying the token also echoes attacker-controlled input and is gzip-compressed, the chosen values and the resulting compressed lengths form a BREACH oracle.\n\nAn attacker able to query it can recover the token and pass csrf_protect validation.",
          "title": "CVE description"
        }
      ],
      "product_status": {
        "recommended": [
          "openSUSE Leap 16.0:perl-Mojolicious-0:9.480.0-bp160.1.1.noarch"
        ]
      },
      "references": [
        {
          "category": "external",
          "summary": "CVE-2026-15747",
          "url": "https://www.suse.com/security/cve/CVE-2026-15747"
        },
        {
          "category": "external",
          "summary": "SUSE Bug 1271431 for CVE-2026-15747",
          "url": "https://bugzilla.suse.com/1271431"
        }
      ],
      "remediations": [
        {
          "category": "vendor_fix",
          "details": "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or \"zypper patch\".\n",
          "product_ids": [
            "openSUSE Leap 16.0:perl-Mojolicious-0:9.480.0-bp160.1.1.noarch"
          ]
        }
      ],
      "scores": [
        {
          "cvss_v3": {
            "baseScore": 5.9,
            "baseSeverity": "MEDIUM",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:N",
            "version": "3.1"
          },
          "products": [
            "openSUSE Leap 16.0:perl-Mojolicious-0:9.480.0-bp160.1.1.noarch"
          ]
        }
      ],
      "threats": [
        {
          "category": "impact",
          "date": "2026-07-29T09:24:06Z",
          "details": "moderate"
        }
      ],
      "title": "CVE-2026-15747"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…