[
https://issues.apache.org/jira/browse/KNOX-3416?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18105241#comment-18105241
]
ASF subversion and git services commented on KNOX-3416:
-------------------------------------------------------
Commit d1c9e0135412dab5e005ceb91d3d88fd0acd561d in knox's branch
refs/heads/v2.1.x from hanicz
[ https://gitbox.apache.org/repos/asf?p=knox.git;h=d1c9e0135 ]
Knox security picks into v2.1.x (#1352)
* KNOX-3188 - Token renewal and revocation should be authorized based on the
group membership of the authenticated subject. (#1083)
(cherry picked from commit 72be9fbd53a9b19483f683025155b665011d7243)
* KNOX-3410: KnoxToken enable/disable endpoints perform no caller autho… (#1343)
* KNOX-3410: KnoxToken enable/disable endpoints perform no caller authorization
* KNOX-3410: Address review comments
(cherry picked from commit f2126008ab764003e9831e48d30302886be93496)
* KNOX-3411: KnoxToken getUserTokens returns every user's token metadat… (#1344)
* KNOX-3411: KnoxToken getUserTokens returns every user's token metadata
without a caller authorization check
* KNOX-3411: Add test clean-up
(cherry picked from commit 049dc0cb894f907efa920a1a2c10fb6ed56fb109)
* KNOX-3416: KnoxSSO redirects to untrusted site (#1346)
* KNOX-3416: KnoxSSO redirects to untrusted site
* KNOX-3416: Clarify error message for userInfo
(cherry picked from commit c3dee56346cfb2670a114d478db0ba2b51aa01f7)
* KNOX-3417: KnoxLdapRealm builds the LDAP search filter from the client
username without RFC-4515 escaping (#1348)
(cherry picked from commit 3cb8ef745c44b39377d855d835198de183a4cef3)
* KNOX-3413: KnoxToken passcode verification accepts a valid passcode for a
different token (#1345)
(cherry picked from commit 5342483a2c7ff229d8819d7df479980753640fc1)
* KNOX-3413: Fix unit test
* KNOX-3418: Path traversal → arbitrary file write/overwrite in the Apache Knox
Admin API (#1349)
(cherry picked from commit de71a60cdf34c842abb8a49f770a0e33fe33c7e9)
* KNOX-3418: Fix jdk17 -> jdk11 compilation fails
---------
Co-authored-by: Sandor Molnar <[email protected]>
> KnoxSSO redirects to untrusted site
> -----------------------------------
>
> Key: KNOX-3416
> URL: https://issues.apache.org/jira/browse/KNOX-3416
> Project: Apache Knox
> Issue Type: Bug
> Components: Server
> Affects Versions: 2.1.0, 3.0.0, 3.1.0
> Reporter: Tamás Hanicz
> Assignee: Tamás Hanicz
> Priority: Blocker
> Fix For: 3.0.0, 3.1.0
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> Reported by n0mi1k Security
>
> The KnoxSSO WebSSO endpoint reads the originalUrl request parameter (already
> decoded once by the servlet container) into a value it validates against the
> redirect whitelist and then emits to the Location header, but the whitelist
> check decodes the value a SECOND time and derives the host to match from that
> double-decoded string, while the value actually sent to the browser is the
> once-decoded original — so a crafted originalUrl passes the whitelist as a
> trusted host yet redirects the browser to a different, attacker-chosen host.
> Concretely, RegExUtils.checkBaseUrlAgainstWhitelist calls URLDecoder.decode a
> second time and checks new URL(decodedURL).getHost(), so
> originalUrl=[https://<trusted-knox-host>:443%[email protected]|https://%3Ctrusted-knox-host%3E:443%[email protected]/]/
> decodes once (container) to
> [https://<trusted-knox-host>:443%[email protected]|https://%3Ctrusted-knox-host%3E:443%[email protected]/]/,
> the whitelist decodes it again to
> [https://<trusted-knox-host>:443/@evil.example|https://%3Ctrusted-knox-host%3E/@evil.example]/
> whose host is the trusted Knox host (whitelist PASS), but the emitted
> Location keeps the %2f so the browser parses the host as evil.example. There
> is no userinfo guard on this path (Urls.containsUserInfo exists in the
> codebase and is applied on another redirect path, but not here), and the
> redirect whitelist is auto-derived by default when
> knoxsso.redirect.whitelist.regex is unset, so this is a default-configuration
> bypass of the SSO redirect control; a victim who follows a crafted KnoxSSO
> link is authenticated and then redirected to the attacker's origin (a related
> KnoxSSO URL-parsing redirect issue is the same class as CVE-2021-42357).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)