<div class="container">
<h1>Security update for aliyun-cli</h1>
<table class="table table-striped table-bordered">
<tbody>
<tr>
<th>Announcement ID:</th>
<td>SUSE-SU-2026:5195-1</td>
</tr>
<tr>
<th>Release Date:</th>
<td>2026-11-11T12:33:43Z</td>
</tr>
<tr>
<th>Rating:</th>
<td>important</td>
</tr>
<tr>
<th>References:</th>
<td>
<ul>
<li style="display: inline;">
<a href="https://bugzilla.suse.com/show_bug.cgi?id=1283596">bsc#1283596</a>
</li>
<li style="display: inline;">
<a href="https://bugzilla.suse.com/show_bug.cgi?id=1284203">bsc#1284203</a>
</li>
<li style="display: inline;">
<a href="https://bugzilla.suse.com/show_bug.cgi?id=1288500">bsc#1288500</a>
</li>
</ul>
</td>
</tr>
<tr>
<th>
Cross-References:
</th>
<td>
<ul>
<li style="display: inline;">
<a href="https://www.suse.com/security/cve/CVE-2026-116591.html">CVE-2026-116591</a>
</li>
<li style="display: inline;">
<a href="https://www.suse.com/security/cve/CVE-2026-63209.html">CVE-2026-63209</a>
</li>
</ul>
</td>
</tr>
<tr>
<th>CVSS scores:</th>
<td>
<ul class="list-group">
<li class="list-group-item">
<span class="cvss-reference">CVE-2026-116591</span>
<span class="cvss-source">
(
SUSE
):
</span>
<span class="cvss-score">8.7</span>
<span class="cvss-vector">CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N</span>
</li>
<li class="list-group-item">
<span class="cvss-reference">CVE-2026-116591</span>
<span class="cvss-source">
(
SUSE
):
</span>
<span class="cvss-score">7.5</span>
<span class="cvss-vector">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</span>
</li>
<li class="list-group-item">
<span class="cvss-reference">CVE-2026-116591</span>
<span class="cvss-source">
(
NVD
):
</span>
<span class="cvss-score">8.7</span>
<span class="cvss-vector">CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/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</span>
</li>
<li class="list-group-item">
<span class="cvss-reference">CVE-2026-63209</span>
<span class="cvss-source">
(
SUSE
):
</span>
<span class="cvss-score">8.7</span>
<span class="cvss-vector">CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N</span>
</li>
<li class="list-group-item">
<span class="cvss-reference">CVE-2026-63209</span>
<span class="cvss-source">
(
SUSE
):
</span>
<span class="cvss-score">7.5</span>
<span class="cvss-vector">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</span>
</li>
<li class="list-group-item">
<span class="cvss-reference">CVE-2026-63209</span>
<span class="cvss-source">
(
NVD
):
</span>
<span class="cvss-score">7.5</span>
<span class="cvss-vector">CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</span>
</li>
</ul>
</td>
</tr>
<tr>
<th>Affected Products:</th>
<td>
<ul class="list-group">
<li class="list-group-item">openSUSE Leap 15.4</li>
<li class="list-group-item">Public Cloud Module 15-SP5</li>
<li class="list-group-item">Public Cloud Module 15-SP6</li>
<li class="list-group-item">Public Cloud Module 15-SP7</li>
<li class="list-group-item">SUSE Linux Enterprise High Performance Computing 15 SP5</li>
<li class="list-group-item">SUSE Linux Enterprise Server 15 SP5</li>
<li class="list-group-item">SUSE Linux Enterprise Server 15 SP6</li>
<li class="list-group-item">SUSE Linux Enterprise Server 15 SP7</li>
<li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP5</li>
<li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP6</li>
<li class="list-group-item">SUSE Linux Enterprise Server for SAP Applications 15 SP7</li>
</ul>
</td>
</tr>
</tbody>
</table>
<p>An update that solves two vulnerabilities and has one security fix can now be installed.</p>
<h2>Description:</h2>
<p>This update for aliyun-cli fixes the following issues:</p>
<ul>
<li>CVE-2026-63209: github.com/klauspost/compress: signed integer overflow in s2.NewDict() allows an attacker to bypass
repeat index validation and cause a process crash (bsc#1283596).</li>
<li>CVE-2026-116591: github.com/klauspost/compress/zstd: crafted ~27 KB two-block zstd frame makes DecodeAll and the
streaming decoder panic (bsc#1288500).</li>
</ul>
<p>Update to version 3.5.2:</p>
<ul>
<li>fix: preserve command targets with leading --force by @pl0301 in (#1459)</li>
<li>fix(argparser): preserve object-like input in string arrays and
stop consuming tokens after a complete JSON array by @AllyW in (#1463)</li>
<li>fix: read product help endpoints from canonical version metadata
by @pl0301 in (#1466)</li>
<li>Fixed the issue of incorrect API parameter name values displayed by
--help in non-plugin paths. by @yuexiu94 in (#1470)</li>
<li>fix: improve unknown OSS option diagnostics by @PanPanZou in (#1464)</li>
<li>fix: surface real pip error when plugin install fails (#1409)
by @mengjunwei-mjw in (#1479)</li>
<li>fix: update Go security baseline and dependencies by @PanPanZou in (#1477)</li>
<li>fix: require HTTPS and checksums for plugin package installs
by @yndu13 in (#1469)</li>
<li>fix: OAuth callback binding and add --no-browser login by @AllyW in (#1461)</li>
<li>fix: emit structured profile configuration errors in AI mode
by @pl0301 in (#1476)</li>
<li>test: expand CLI unit coverage and failure recovery checks
by @PanPanZou in (#1478)</li>
<li>fix: honor config path when refreshing OAuth and CloudSSO credentials
by @PanPanZou in (#1468)</li>
<li>feat: support CLI credentials in MCP proxy by @PanPanZou in (#1465)</li>
<li>Sign release archives and publish an SBOM and provenance for each one
by @yndu13 in (#1473)</li>
<li>fix: clarify safety policy configuration and confirmation boundaries
by @Winphies in (#1480)</li>
<li>feat(openapi): tell "confirmed free" apart from "cannot be quoted" in
--estimate-cost by @api-tool-agent in (#1410)</li>
<li>feat: apply API metadata read timeout defaults by @pl0301 in (#1475)</li>
<li>Add shared CloudSSO sessions across profiles by @AllyW in (#1481)</li>
<li>fix: validate JSON parameters as parent values by @Winphies in (#1485)</li>
<li>Add opt-in built-in OSS JSON/JSONL listings with bounded pages and resumable
cursors, structured errors with recovery guidance, and non-interactive
confirmation handling (#1452).</li>
<li>Add offline validation and read-only plans for single-file uploads and
single-object deletion; record exact failed targets in exclusive JSONL
manifests for cp/sync and expose sync deletion-phase state (#1452).</li>
<li>Fix the OSS bridge to preserve option order and <code>--</code>, propagate parser and
service errors, pass profile region/timeouts/retry budgets, and refresh host
credentials at request time without injecting them into argv (#1454).</li>
<li>Stop replaying writes after ambiguous transport or server failures; classify
retries with jittered backoff, join workers before closing reports, and fix
progress data races and failure-report filename collisions (#1452).</li>
<li>Enforce the host safety policy for legacy OSS operations and reject
unsupported preview combinations (#1452, #1454).</li>
<li>Harden policy parsing and environment overrides to fail closed on invalid
configuration; explicit deny rules cannot be bypassed by <code>--force</code>, <code>--yes</code>,
or AI mode.</li>
<li>Enforce the safety policy before built-in extension dispatch
(cliext/safety.go).</li>
<li>Restrict legacy FNF request-signing compatibility to a product allowlist (#1447).</li>
<li>API alias canonicalization was reverted and held: aliases and PascalCase/
kebab-case spellings remain separate policy matches, matching command
spelling exactly as typed.</li>
<li>Version AI-mode OpenAPI and OSS error envelopes with <code>schemaVersion: "v1"</code>,
and return structured startup configuration errors (#1453).</li>
<li>Add ALIBABA_CLOUD_CLI_AGENT_INTEGRATION controls for automatic AI mode;
expand agent detection, User-Agent attribution, and Qoder China CLI
detection (#1445, #1455).</li>
<li>Support case-insensitive product routing for in-process OpenAPI commands (#1445).</li>
<li>Expose regional and VPC product endpoints through queryable product Help (#1448).</li>
<li>Support camel RPC flat arrays (#1456) and prefer product prefix/substring
suggestions over edit distance in "Did you mean" output.</li>
<li>Upgrade JMESPath to support <code>json.Number</code>, preserving large-number
comparison and sorting precision and fixing empty-array average semantics.</li>
<li>Dispatch newly installed metadata plugins in-process (#1439).</li>
<li>Harden plugin archive extraction, package replacement/rollback, and download
URL diagnostics (#1442).</li>
<li>Redact JSON and form bodies based on content while preserving the encoding
of original form stars; keep raw and unparseable dry-run bodies intact
(#1440, #1449).</li>
<li>Prefer native macOS architecture packages in install.sh (#1433).</li>
<li>Keep prerelease tags off the stable latest pointer and fail closed when
release asset downloads are incomplete (#1437).</li>
<li>Include cliext in required checks, fix cross-platform test failures (#1446),
restore single-file entrypoint builds, and stabilize language tests.</li>
<li>Update the aliyun-openapi-meta submodule and release jobs.</li>
<li>Add the OSS automation guide (en / zh-CN), document startup errors, exit
statuses and command-spelling safety matching (#1450), and add the v3.5.1
CHANGELOG entry.</li>
<li>docs: add StsToken credential mode to README by @yndu13 in (#1403)</li>
<li>Built-in plugin and AI MODE enhancement by @yndu13 in (#1411)</li>
<li>Update Aliyun OpenAPI meta data</li>
<li>feat(openapi): extend --estimate-cost coverage (pricing context,
SLS/openapi path, oss bridge, by-triple) and scripting contract
by @api-tool-agent in (#1399)
(no changes)</li>
<li>fix(maxc): fall back when symlink creation fails on Windows
by @yndu13 in (#1390)</li>
<li>fix: quote-aware External process_command parsing by @yndu13 in (#1391)</li>
<li>fix: POSIX line-continuation in External process_command splitting
by @yndu13 in (#1392)</li>
<li>Improve invalid flag error with did-you-mean hints by @yndu13 in (#1394)</li>
<li>fix: atomically write config.json via temp+rename by @yndu13 in (#1387)</li>
<li>fix: detect throttling by x-acs-retry-after header by @yndu13 in (#1395)</li>
<li>feat: add aliyun ecctl for Elastic Compute Control CLI by @yndu13 in (#1397)</li>
<li>fix: allow --profile with aliyun oss subcommands by @yndu13 in (#1398)</li>
<li>fix(test): mock plugin index for offline-stable Windows CI by @yndu13 in (#1379)</li>
<li>fix: correct waiter timeout/interval range validation by @yndu13 in (#1382)</li>
<li>feat(openapi): add --cli-dry-run flag for built-in PascalCase commands
by @CodeSpaceiiii in (#1383)</li>
<li>fix: persist configure read-timeout as read_timeout by @yndu13 in (#1384)</li>
<li>fix: ignore empty --mode so env credentials still apply by @yndu13 in (#1386)</li>
<li>feat: add mseutil command to aliyun CLI by @yndu13 in (#1381)</li>
<li>fix(oss): honor profile endpoint and endpoint-type vpc by @yndu13 in (#1385)</li>
<li>fix: correct import order in openapi/library_test.go by @CodeSpaceiiii
with @Copilot in (#1388)</li>
<li>Fix invisible API parameter names in help output (bold-black on dark terminals)
by @mvanhorn in (#1362)</li>
<li>feat: integrate flow-cli into Aliyun CLI by @yndu13 in (#1380)</li>
<li>fix(esacli): harden exec override and shorthand flags by @yndu13 in (#1389)</li>
<li>{plugin} Add alias support for plugin by @AllyW in (#1376)</li>
<li>feat(mock): add response_body_size for controllable mock stdout size
by @yndu13 in (#1378)</li>
<li>fix(plugin): prevent bulk update plugin pointer aliasing by @yndu13 in (#1377)</li>
<li>feat(openapi): add --estimate-cost-context to pass PricingContext to quotes
by @LCLSpring in (#1373)</li>
<li>feat(mock): add delay_ms field to simulate command execution latency
by @yndu13 in (#1375)</li>
<li>[Feature] Support ESA CLI Sub Command by @msyysm1211 in (#1345)</li>
<li>feat(config): support STS endpoint override for OIDC and role
auth by @yndu13 in (#1372)</li>
<li>fix: correct valid typo in invalid command error by @yndu13 in (#1365)</li>
<li>{Misc} Add ALIBABA_CLOUD_DISABLE_EXTERNAL_PROCESS to disable external
process by @AllyW in (#1366)</li>
<li>feat(openapi): add --estimate-cost and list-supported-pricing-apis
by @LCLSpring in (#1364)</li>
<li>[Feature]Add Aliyun Lindorm CLI Subcommand by @MistySoul in (#1361)</li>
<li>{cliext} Add aliyun spark-submit by @AllyW in (#1358)</li>
<li>feat(acrutil): extract shared binary manager and add diagnosis
subcommand by @copyrightpoiiiii in (#1349)</li>
<li>[feature] add rostran sub command by @xiao201208 in (#1350)</li>
<li>{OpenAPI} Add --cli-dry-run-json by @AllyW in (#1306)</li>
<li>{Misc} Fix plugin three layer cmd help by @AllyW in (#1343)</li>
<li>Feature/support anonymous by @yuexiu94 in (#1354)</li>
<li>feat: support retry-after policy for throttling error by @yndu13
in (#1355)</li>
<li>{Plugin} Allow plugins to opt out of host profile enforcement
by @AllyW in (#1348)</li>
<li>{Logging} Skip list for self-built-gateway products by @AllyW in (#1346)</li>
<li>{Configure} Match policy rules against the command users actually type
for ROA by @AllyW in (#1344)</li>
<li>{OpenAPI} Add call context logging by @AllyW in (#1342)</li>
<li>[Feature] Support MaxC CLI Sub Command by @dingxin-tech in (#1332)</li>
<li>feat(appmanager): Generalized PrepareEnv credential pass-through
supports multiple authentication modes by @mengjunwei-mjw in (#1341)</li>
<li>Improve CMS2 command descriptions and clarify exception
return codes by @tingbin-ctb in (#1337)</li>
<li>feat(iact3): add iact3 subcommand with manual upgrade
by @xiao201208 in (#1336)</li>
<li>Add kmscli command by @oobujieshi in (#1340)</li>
<li>{Plugin} Support lang and profile from flag for plugin
execution by @AllyW in (#1330)</li>
<li>Computenest pypi venv by @mengjunwei-mjw in (#1331)</li>
<li>feat: add codeup-cli subcommand for migrating third-party
code repos by @imu2008 in (#1335)</li>
<li>Optimize error messages by @CodeSpaceiiii in (#1327)</li>
<li>{Openapi} Return InvalidApiError for unknown API on
restful products by @AllyW in (#1326)</li>
<li>feat(acrutil): Add Alibaba Cloud Container Registry(ACR)
Skill management CLI subcommand by @copyrightpoiiiii in (#1329)</li>
<li>{Configure} Support BearerToken profile mode by @AllyW in (#1333)</li>
<li>feat add saectl by @Beimingx in (#1319)</li>
<li>Cloud Monitor version 2.0: Independent binary access,
Aliyun CMS2 subcommands by @thinkbetter18 in (#1322)</li>
<li>feat(otel): integrate OpenTelemetry support with environment
variable by @CodeSpaceiiii in (#1324)</li>
<li>aliyuncms has been renamed to aliyuncms2. COMPAT_MODE, USER_AGENT,
AI_USER_AGENT, and OTEL headers have been added. Issues with business
parameter passing have been fixed by @tingbin-ctb in (#1325)</li>
<li>feat(appmanager): add appmanager subcommand with PyPI+OSS
dual-source by @mengjunwei-mjw in (#1317)</li>
<li>{Misc} Add --name and update version check message for plugin
install and adjust agent detection by @AllyW in (#1316)</li>
<li>Add AgentBay CLI command and implement language setting logic
by @CodeSpaceiiii in (#1311)</li>
<li>{Profile} Add external-account-type for user profile
by @AllyW in (#1312)</li>
<li>Implement CLI mock command with add, import, remove, list,
clear, and path subcommands by @CodeSpaceiiii in (#1313)</li>
<li>{Openapi} Add agent segment to user-agent by @AllyW in (#1314)</li>
<li>Fix retrySaveProfile function to return success status and
update tests by @CodeSpaceiiii in (#1310)</li>
<li>{Config} Add safety policy env parsing by @AllyW in (#1307)</li>
<li>{Core} Add plugin install --package and plugin show by @AllyW in (#1301)</li>
<li>{config} Fix: Only honor ALIBABA_CLOUD_ENDPOINT for profile
endpoint env injection by @AllyW in (#1304)</li>
<li>{Core} Fix endpoint shorthand flag -e of oss by @AllyW in (#1303)</li>
<li>feat: profile support endpoint flag by @crimson-gao in (#1298)</li>
<li>{Core} Add aliyun upgrade and configurable plugin index source and
fix CloudSSO/OAuth one-off CLI flags persisting by @AllyW in (#1299)</li>
<li>{Core} Fix unknown-flag parsing for plugin-style subcommands
by @AllyW in (#1296)</li>
<li>{Core} Add ai-mode and safety policy configuration
by @AllyW in (#1295)</li>
</ul>
<h2>Patch Instructions:</h2>
<p>
To install this SUSE update use the SUSE recommended
installation methods like YaST online_update or "zypper patch".<br/>
Alternatively you can run the command listed for your product:
</p>
<ul class="list-group">
<li class="list-group-item">
openSUSE Leap 15.4
<br/>
<code>zypper in -t patch SUSE-2026-5195</code>
</li>
<li class="list-group-item">
Public Cloud Module 15-SP5
<br/>
<code>zypper in -t patch SUSE-SLE-Module-Public-Cloud-15-SP5-2026-5195</code>
</li>
<li class="list-group-item">
Public Cloud Module 15-SP6
<br/>
<code>zypper in -t patch SUSE-SLE-Module-Public-Cloud-15-SP6-2026-5195</code>
</li>
<li class="list-group-item">
Public Cloud Module 15-SP7
<br/>
<code>zypper in -t patch SUSE-SLE-Module-Public-Cloud-15-SP7-2026-5195</code>
</li>
</ul>
<h2>Package List:</h2>
<ul>
<li>
openSUSE Leap 15.4 (aarch64 ppc64le x86_64)
<ul>
<li>aliyun-cli-3.5.2-150400.9.13.1</li>
</ul>
</li>
<li>
Public Cloud Module 15-SP5 (aarch64 ppc64le x86_64)
<ul>
<li>aliyun-cli-3.5.2-150400.9.13.1</li>
</ul>
</li>
<li>
Public Cloud Module 15-SP6 (aarch64 ppc64le x86_64)
<ul>
<li>aliyun-cli-3.5.2-150400.9.13.1</li>
</ul>
</li>
<li>
Public Cloud Module 15-SP7 (aarch64 ppc64le x86_64)
<ul>
<li>aliyun-cli-3.5.2-150400.9.13.1</li>
</ul>
</li>
</ul>
<h2>References:</h2>
<ul>
<li>
<a href="https://www.suse.com/security/cve/CVE-2026-116591.html">https://www.suse.com/security/cve/CVE-2026-116591.html</a>
</li>
<li>
<a href="https://www.suse.com/security/cve/CVE-2026-63209.html">https://www.suse.com/security/cve/CVE-2026-63209.html</a>
</li>
<li>
<a href="https://bugzilla.suse.com/show_bug.cgi?id=1283596">https://bugzilla.suse.com/show_bug.cgi?id=1283596</a>
</li>
<li>
<a href="https://bugzilla.suse.com/show_bug.cgi?id=1284203">https://bugzilla.suse.com/show_bug.cgi?id=1284203</a>
</li>
<li>
<a href="https://bugzilla.suse.com/show_bug.cgi?id=1288500">https://bugzilla.suse.com/show_bug.cgi?id=1288500</a>
</li>
</ul>
</div>