[ 
https://issues.apache.org/jira/browse/CXF-9263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Colm O hEigeartaigh updated CXF-9263:
-------------------------------------
    Description: 
||Candidate||Module / Location||Systest usage||Rationale||
|{{org.apache.cxf.rs.security.oauth2.tokens.hawk}} package (11 
classes)|cxf-rt-rs-security-oauth2|None|Hawk was an abandoned draft and never 
became a standard.|
|{Unknown macro: 

Unknown macro: \{DirectAuthorizationService}
}|cxf-rt-rs-security-oauth2 (services)|None|Non-standard "direct_token" grant 
that issues tokens directly from an authenticated request. Nothing else 
references it.|
|{{OOBResponseDeliverer}} and OOB redirect support in \{ Unknown macro: 
{AuthorizationCodeGrantService}
}|cxf-rt-rs-security-oauth2 (provider, services)|None|Out-of-band redirect has 
been deprecated across the industry.|
|{{{}ModelEncryptionSupport{}}}, {{{}DefaultEncryptingOAuthDataProvider{}}}, \{ 
Unknown macro: {DefaultEncryptingCodeDataProvider}
}|cxf-rt-rs-security-oauth2 (utils.crypto, provider, 
grants.code)|None|Home-grown way to store tokens as encrypted strings, with a 
custom tokenizer (about 600 LOC). Several recent fixes (PRs 3345, 3347, 3408). 
JPA and JCache providers already cover this.|
|{{{}JoseSessionTokenProvider{}}}, \{ Unknown macro: 
{JoseClientCodeStateManager}
}|cxf-rt-rs-security-oauth2 (provider, client)|4 systests|Prototype-style ways 
to keep session and state data in JOSE. The in-memory and session-based options 
already exist.|
|{{{}ResourceOwnerGrant{}}}, {{{}ResourceOwnerGrantHandler{}}}, 
{{{}ResourceOwnerLoginHandler{}}}, \{ Unknown macro: 
{JAASResourceOwnerLoginHandler}
}|cxf-rt-rs-security-oauth2 (grants.owner)|About 20 systests|The password grant 
is removed in OAuth 2.1 and the OAuth Security BCP.|
|{{{}ImplicitGrantService{}}}, {{{}AbstractImplicitGrantService{}}}, 
{{OidcImplicitService}} |cxf-rt-rs-security-oauth2 (services), 
cxf-rt-rs-security-sso-oidc (idp)|About 14 systests (oauth2), 9 (oidc)|The 
implicit flow is removed in OAuth 2.1 and the Security BCP.|
|{{org.apache.cxf.jaxrs.provider.jsonp}} package ({{{}JsonpInInterceptor{}}}, 
{{{}JsonpPreStreamInterceptor{}}}, {{{}JsonpPostStreamInterceptor{}}}, 
{{{}JsonpJaxrsWriterInterceptor{}}}, 
{{{}AbstractJsonpOutInterceptor{}}})|cxf-rt-rs-extension-providers|1 
systest|Made obsolete by CORS. It is reflected-script injection by design (PR 
3628).|
|{Unknown macro: 

Unknown macro: \{ODataParser}
}|cxf-rt-rs-extension-search (odata)|1 systest|Depends on Apache Olingo OData2, 
which is effectively dead.|
|{{{}TikaContentExtractor{}}}, {{{}TikaLuceneContentExtractor{}}}, 
{{{}LuceneDocumentMetadata{}}}, \{ Unknown macro: {LuceneQueryVisitor}
}|cxf-rt-rs-extension-search (tika, lucene)|1 systest, 1 sample|Prototype 
integrations that pull in heavy dependencies (Tika parsers, Lucene) for little 
use.|
|{Unknown macro: 

Unknown macro: \{DOM4JProvider}
}|cxf-rt-rs-extension-providers (dom4j)|None|Niche, with no tests or samples 
using it.|
|{{{}AegisElementProvider{}}}, \{ Unknown macro: {AbstractAegisProvider}
}|cxf-rt-rs-extension-providers (aegis)|3 systests|Niche. Aegis already had 
CVE-2024-28752.|
|{Unknown macro: 

Unknown macro: \{XPathProvider}
}|cxf-rt-frontend-jaxrs (provider)|None|The XPath path keeps needing XML 
resolver and XXE hardening.|
|{Unknown macro: 

Unknown macro: \{XSLTJaxbProvider}
}|cxf-rt-frontend-jaxrs (provider)|3 systests|The XSLT path keeps needing 
stylesheet resolver hardening (PR 3512).|
|{{{}XMLSource{}}}, {{XSLTTransform}} (optional)|cxf-rt-frontend-jaxrs 
(ext.xml)|About 7 systests|Same XML and XSLT risk area, but used more widely.|
|SimpleTypeJsonProvider|cxf-rt-rs-extension-providers|N/A|Not used anywhere|

  was:
||Candidate||Module / Location||Systest usage||Rationale||
|{{org.apache.cxf.rs.security.oauth2.tokens.hawk}} package (11 
classes)|cxf-rt-rs-security-oauth2|None|Hawk was an abandoned draft and never 
became a standard.|
|{Unknown macro: \\{DirectAuthorizationService}}|cxf-rt-rs-security-oauth2 
(services)|None|Non-standard "direct_token" grant that issues tokens directly 
from an authenticated request. Nothing else references it.|
|{{OOBResponseDeliverer}} and OOB redirect support in \{ Unknown macro: 
\{AuthorizationCodeGrantService}
}|cxf-rt-rs-security-oauth2 (provider, services)|None|Out-of-band redirect has 
been deprecated across the industry.|
|{{{}ModelEncryptionSupport{}}}, {{{}DefaultEncryptingOAuthDataProvider{}}}, \{ 
Unknown macro: \{DefaultEncryptingCodeDataProvider}
}|cxf-rt-rs-security-oauth2 (utils.crypto, provider, 
grants.code)|None|Home-grown way to store tokens as encrypted strings, with a 
custom tokenizer (about 600 LOC). Several recent fixes (PRs 3345, 3347, 3408). 
JPA and JCache providers already cover this.|
|{{{}JoseSessionTokenProvider{}}}, \{ Unknown macro: 
\{JoseClientCodeStateManager}
}|cxf-rt-rs-security-oauth2 (provider, client)|4 systests|Prototype-style ways 
to keep session and state data in JOSE. The in-memory and session-based options 
already exist.|
|{{{}ResourceOwnerGrant{}}}, {{{}ResourceOwnerGrantHandler{}}}, 
{{{}ResourceOwnerLoginHandler{}}}, \{ Unknown macro: 
\{JAASResourceOwnerLoginHandler}
}|cxf-rt-rs-security-oauth2 (grants.owner)|About 20 systests|The password grant 
is removed in OAuth 2.1 and the OAuth Security BCP.|
|{{{}ImplicitGrantService{}}}, {{{}AbstractImplicitGrantService{}}}, 
{{OidcImplicitService}} |cxf-rt-rs-security-oauth2 (services), 
cxf-rt-rs-security-sso-oidc (idp)|About 14 systests (oauth2), 9 (oidc)|The 
implicit flow is removed in OAuth 2.1 and the Security BCP.|
|{{org.apache.cxf.jaxrs.provider.jsonp}} package ({{{}JsonpInInterceptor{}}}, 
{{{}JsonpPreStreamInterceptor{}}}, {{{}JsonpPostStreamInterceptor{}}}, 
{{{}JsonpJaxrsWriterInterceptor{}}}, 
{{{}AbstractJsonpOutInterceptor{}}})|cxf-rt-rs-extension-providers|1 
systest|Made obsolete by CORS. It is reflected-script injection by design (PR 
3628).|
|{Unknown macro: \\{ODataParser}}|cxf-rt-rs-extension-search (odata)|1 
systest|Depends on Apache Olingo OData2, which is effectively dead.|
|{{{}TikaContentExtractor{}}}, {{{}TikaLuceneContentExtractor{}}}, 
{{{}LuceneDocumentMetadata{}}}, \{ Unknown macro: \{LuceneQueryVisitor}
}|cxf-rt-rs-extension-search (tika, lucene)|1 systest, 1 sample|Prototype 
integrations that pull in heavy dependencies (Tika parsers, Lucene) for little 
use.|
|{Unknown macro: \\{DOM4JProvider}}|cxf-rt-rs-extension-providers 
(dom4j)|None|Niche, with no tests or samples using it.|
|{{{}AegisElementProvider{}}}, \{ Unknown macro: \{AbstractAegisProvider}
}|cxf-rt-rs-extension-providers (aegis)|3 systests|Niche. Aegis already had 
CVE-2024-28752.|
|{Unknown macro: \\{XPathProvider}}|cxf-rt-frontend-jaxrs (provider)|None|The 
XPath path keeps needing XML resolver and XXE hardening.|
|{Unknown macro: \\{XSLTJaxbProvider}}|cxf-rt-frontend-jaxrs (provider)|3 
systests|The XSLT path keeps needing stylesheet resolver hardening (PR 3512).|
|{{{}XMLSource{}}}, {{XSLTTransform}} (optional)|cxf-rt-frontend-jaxrs 
(ext.xml)|About 7 systests|Same XML and XSLT risk area, but used more widely.|


> Review and remove JAX-RS functionality that is out of date or little used
> -------------------------------------------------------------------------
>
>                 Key: CXF-9263
>                 URL: https://issues.apache.org/jira/browse/CXF-9263
>             Project: CXF
>          Issue Type: Improvement
>            Reporter: Colm O hEigeartaigh
>            Assignee: Colm O hEigeartaigh
>            Priority: Major
>             Fix For: 4.3.0
>
>
> ||Candidate||Module / Location||Systest usage||Rationale||
> |{{org.apache.cxf.rs.security.oauth2.tokens.hawk}} package (11 
> classes)|cxf-rt-rs-security-oauth2|None|Hawk was an abandoned draft and never 
> became a standard.|
> |{Unknown macro: 
> Unknown macro: \{DirectAuthorizationService}
> }|cxf-rt-rs-security-oauth2 (services)|None|Non-standard "direct_token" grant 
> that issues tokens directly from an authenticated request. Nothing else 
> references it.|
> |{{OOBResponseDeliverer}} and OOB redirect support in \{ Unknown macro: 
> {AuthorizationCodeGrantService}
> }|cxf-rt-rs-security-oauth2 (provider, services)|None|Out-of-band redirect 
> has been deprecated across the industry.|
> |{{{}ModelEncryptionSupport{}}}, {{{}DefaultEncryptingOAuthDataProvider{}}}, 
> \{ Unknown macro: {DefaultEncryptingCodeDataProvider}
> }|cxf-rt-rs-security-oauth2 (utils.crypto, provider, 
> grants.code)|None|Home-grown way to store tokens as encrypted strings, with a 
> custom tokenizer (about 600 LOC). Several recent fixes (PRs 3345, 3347, 
> 3408). JPA and JCache providers already cover this.|
> |{{{}JoseSessionTokenProvider{}}}, \{ Unknown macro: 
> {JoseClientCodeStateManager}
> }|cxf-rt-rs-security-oauth2 (provider, client)|4 systests|Prototype-style 
> ways to keep session and state data in JOSE. The in-memory and session-based 
> options already exist.|
> |{{{}ResourceOwnerGrant{}}}, {{{}ResourceOwnerGrantHandler{}}}, 
> {{{}ResourceOwnerLoginHandler{}}}, \{ Unknown macro: 
> {JAASResourceOwnerLoginHandler}
> }|cxf-rt-rs-security-oauth2 (grants.owner)|About 20 systests|The password 
> grant is removed in OAuth 2.1 and the OAuth Security BCP.|
> |{{{}ImplicitGrantService{}}}, {{{}AbstractImplicitGrantService{}}}, 
> {{OidcImplicitService}} |cxf-rt-rs-security-oauth2 (services), 
> cxf-rt-rs-security-sso-oidc (idp)|About 14 systests (oauth2), 9 (oidc)|The 
> implicit flow is removed in OAuth 2.1 and the Security BCP.|
> |{{org.apache.cxf.jaxrs.provider.jsonp}} package ({{{}JsonpInInterceptor{}}}, 
> {{{}JsonpPreStreamInterceptor{}}}, {{{}JsonpPostStreamInterceptor{}}}, 
> {{{}JsonpJaxrsWriterInterceptor{}}}, 
> {{{}AbstractJsonpOutInterceptor{}}})|cxf-rt-rs-extension-providers|1 
> systest|Made obsolete by CORS. It is reflected-script injection by design (PR 
> 3628).|
> |{Unknown macro: 
> Unknown macro: \{ODataParser}
> }|cxf-rt-rs-extension-search (odata)|1 systest|Depends on Apache Olingo 
> OData2, which is effectively dead.|
> |{{{}TikaContentExtractor{}}}, {{{}TikaLuceneContentExtractor{}}}, 
> {{{}LuceneDocumentMetadata{}}}, \{ Unknown macro: {LuceneQueryVisitor}
> }|cxf-rt-rs-extension-search (tika, lucene)|1 systest, 1 sample|Prototype 
> integrations that pull in heavy dependencies (Tika parsers, Lucene) for 
> little use.|
> |{Unknown macro: 
> Unknown macro: \{DOM4JProvider}
> }|cxf-rt-rs-extension-providers (dom4j)|None|Niche, with no tests or samples 
> using it.|
> |{{{}AegisElementProvider{}}}, \{ Unknown macro: {AbstractAegisProvider}
> }|cxf-rt-rs-extension-providers (aegis)|3 systests|Niche. Aegis already had 
> CVE-2024-28752.|
> |{Unknown macro: 
> Unknown macro: \{XPathProvider}
> }|cxf-rt-frontend-jaxrs (provider)|None|The XPath path keeps needing XML 
> resolver and XXE hardening.|
> |{Unknown macro: 
> Unknown macro: \{XSLTJaxbProvider}
> }|cxf-rt-frontend-jaxrs (provider)|3 systests|The XSLT path keeps needing 
> stylesheet resolver hardening (PR 3512).|
> |{{{}XMLSource{}}}, {{XSLTTransform}} (optional)|cxf-rt-frontend-jaxrs 
> (ext.xml)|About 7 systests|Same XML and XSLT risk area, but used more widely.|
> |SimpleTypeJsonProvider|cxf-rt-rs-extension-providers|N/A|Not used anywhere|



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to