{"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":"python311-asteval-1.0.6-1.1 on GA media","title":"Title of the patch"},{"category":"description","text":"These are all security issues fixed in the python311-asteval-1.0.6-1.1 package on the GA media of openSUSE Tumbleweed.","title":"Description of the patch"},{"category":"details","text":"openSUSE-Tumbleweed-2025-14701","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-2025_14701-1.json"},{"category":"self","summary":"URL for openSUSE-SU-2025:14701-1","url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/RCIYZNYY34TMKJK6SAESDFFCWXTAMH4M/"},{"category":"self","summary":"E-Mail link for openSUSE-SU-2025:14701-1","url":"https://lists.opensuse.org/archives/list/security-announce@lists.opensuse.org/thread/RCIYZNYY34TMKJK6SAESDFFCWXTAMH4M/"},{"category":"self","summary":"SUSE CVE CVE-2025-24359 page","url":"https://www.suse.com/security/cve/CVE-2025-24359/"}],"title":"python311-asteval-1.0.6-1.1 on GA media","tracking":{"current_release_date":"2025-01-27T00:00:00Z","generator":{"date":"2025-01-27T00:00:00Z","engine":{"name":"cve-database.git:bin/generate-csaf.pl","version":"1"}},"id":"openSUSE-SU-2025:14701-1","initial_release_date":"2025-01-27T00:00:00Z","revision_history":[{"date":"2025-01-27T00:00:00Z","number":"1","summary":"Current version"}],"status":"final","version":"1"}},"product_tree":{"branches":[{"branches":[{"branches":[{"category":"product_version","name":"python311-asteval-1.0.6-1.1.aarch64","product":{"name":"python311-asteval-1.0.6-1.1.aarch64","product_id":"python311-asteval-1.0.6-1.1.aarch64"}},{"category":"product_version","name":"python312-asteval-1.0.6-1.1.aarch64","product":{"name":"python312-asteval-1.0.6-1.1.aarch64","product_id":"python312-asteval-1.0.6-1.1.aarch64"}},{"category":"product_version","name":"python313-asteval-1.0.6-1.1.aarch64","product":{"name":"python313-asteval-1.0.6-1.1.aarch64","product_id":"python313-asteval-1.0.6-1.1.aarch64"}}],"category":"architecture","name":"aarch64"},{"branches":[{"category":"product_version","name":"python311-asteval-1.0.6-1.1.ppc64le","product":{"name":"python311-asteval-1.0.6-1.1.ppc64le","product_id":"python311-asteval-1.0.6-1.1.ppc64le"}},{"category":"product_version","name":"python312-asteval-1.0.6-1.1.ppc64le","product":{"name":"python312-asteval-1.0.6-1.1.ppc64le","product_id":"python312-asteval-1.0.6-1.1.ppc64le"}},{"category":"product_version","name":"python313-asteval-1.0.6-1.1.ppc64le","product":{"name":"python313-asteval-1.0.6-1.1.ppc64le","product_id":"python313-asteval-1.0.6-1.1.ppc64le"}}],"category":"architecture","name":"ppc64le"},{"branches":[{"category":"product_version","name":"python311-asteval-1.0.6-1.1.s390x","product":{"name":"python311-asteval-1.0.6-1.1.s390x","product_id":"python311-asteval-1.0.6-1.1.s390x"}},{"category":"product_version","name":"python312-asteval-1.0.6-1.1.s390x","product":{"name":"python312-asteval-1.0.6-1.1.s390x","product_id":"python312-asteval-1.0.6-1.1.s390x"}},{"category":"product_version","name":"python313-asteval-1.0.6-1.1.s390x","product":{"name":"python313-asteval-1.0.6-1.1.s390x","product_id":"python313-asteval-1.0.6-1.1.s390x"}}],"category":"architecture","name":"s390x"},{"branches":[{"category":"product_version","name":"python311-asteval-1.0.6-1.1.x86_64","product":{"name":"python311-asteval-1.0.6-1.1.x86_64","product_id":"python311-asteval-1.0.6-1.1.x86_64"}},{"category":"product_version","name":"python312-asteval-1.0.6-1.1.x86_64","product":{"name":"python312-asteval-1.0.6-1.1.x86_64","product_id":"python312-asteval-1.0.6-1.1.x86_64"}},{"category":"product_version","name":"python313-asteval-1.0.6-1.1.x86_64","product":{"name":"python313-asteval-1.0.6-1.1.x86_64","product_id":"python313-asteval-1.0.6-1.1.x86_64"}}],"category":"architecture","name":"x86_64"},{"branches":[{"category":"product_name","name":"openSUSE Tumbleweed","product":{"name":"openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed","product_identification_helper":{"cpe":"cpe:/o:opensuse:tumbleweed"}}}],"category":"product_family","name":"SUSE Linux Enterprise"}],"category":"vendor","name":"SUSE"}],"relationships":[{"category":"default_component_of","full_product_name":{"name":"python311-asteval-1.0.6-1.1.aarch64 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.aarch64"},"product_reference":"python311-asteval-1.0.6-1.1.aarch64","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python311-asteval-1.0.6-1.1.ppc64le as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.ppc64le"},"product_reference":"python311-asteval-1.0.6-1.1.ppc64le","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python311-asteval-1.0.6-1.1.s390x as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.s390x"},"product_reference":"python311-asteval-1.0.6-1.1.s390x","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python311-asteval-1.0.6-1.1.x86_64 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.x86_64"},"product_reference":"python311-asteval-1.0.6-1.1.x86_64","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python312-asteval-1.0.6-1.1.aarch64 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.aarch64"},"product_reference":"python312-asteval-1.0.6-1.1.aarch64","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python312-asteval-1.0.6-1.1.ppc64le as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.ppc64le"},"product_reference":"python312-asteval-1.0.6-1.1.ppc64le","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python312-asteval-1.0.6-1.1.s390x as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.s390x"},"product_reference":"python312-asteval-1.0.6-1.1.s390x","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python312-asteval-1.0.6-1.1.x86_64 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.x86_64"},"product_reference":"python312-asteval-1.0.6-1.1.x86_64","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python313-asteval-1.0.6-1.1.aarch64 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.aarch64"},"product_reference":"python313-asteval-1.0.6-1.1.aarch64","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python313-asteval-1.0.6-1.1.ppc64le as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.ppc64le"},"product_reference":"python313-asteval-1.0.6-1.1.ppc64le","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python313-asteval-1.0.6-1.1.s390x as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.s390x"},"product_reference":"python313-asteval-1.0.6-1.1.s390x","relates_to_product_reference":"openSUSE Tumbleweed"},{"category":"default_component_of","full_product_name":{"name":"python313-asteval-1.0.6-1.1.x86_64 as component of openSUSE Tumbleweed","product_id":"openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.x86_64"},"product_reference":"python313-asteval-1.0.6-1.1.x86_64","relates_to_product_reference":"openSUSE Tumbleweed"}]},"vulnerabilities":[{"cve":"CVE-2025-24359","ids":[{"system_name":"SUSE CVE Page","text":"https://www.suse.com/security/cve/CVE-2025-24359"}],"notes":[{"category":"general","text":"ASTEVAL is an evaluator of Python expressions and statements. Prior to version 1.0.6, if an attacker can control the input to the `asteval` library, they can bypass asteval's restrictions and execute arbitrary Python code in the context of the application using the library. The vulnerability is rooted in how `asteval` performs handling of `FormattedValue` AST nodes. In particular, the `on_formattedvalue` value uses the dangerous format method of the str class. The code allows an attacker to manipulate the value of the string used in the dangerous call `fmt.format(__fstring__=val)`. This vulnerability can be exploited to access protected attributes by intentionally triggering an `AttributeError` exception. The attacker can then catch the exception and use its `obj` attribute to gain arbitrary access to sensitive or protected object properties. Version 1.0.6 fixes this issue.","title":"CVE description"}],"product_status":{"recommended":["openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.aarch64","openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.ppc64le","openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.s390x","openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.x86_64","openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.aarch64","openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.ppc64le","openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.s390x","openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.x86_64","openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.aarch64","openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.ppc64le","openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.s390x","openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.x86_64"]},"references":[{"category":"external","summary":"CVE-2025-24359","url":"https://www.suse.com/security/cve/CVE-2025-24359"},{"category":"external","summary":"SUSE Bug 1236405 for CVE-2025-24359","url":"https://bugzilla.suse.com/1236405"}],"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 Tumbleweed:python311-asteval-1.0.6-1.1.aarch64","openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.ppc64le","openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.s390x","openSUSE Tumbleweed:python311-asteval-1.0.6-1.1.x86_64","openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.aarch64","openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.ppc64le","openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.s390x","openSUSE Tumbleweed:python312-asteval-1.0.6-1.1.x86_64","openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.aarch64","openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.ppc64le","openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.s390x","openSUSE Tumbleweed:python313-asteval-1.0.6-1.1.x86_64"]}],"threats":[{"category":"impact","date":"2025-01-27T00:00:00Z","details":"important"}],"title":"CVE-2025-24359"}]}