Security
Headlines
HeadlinesLatestCVEs

Headline

CVE-2022-45402: Replace FAB url filtering function with Airflows by jedcunningham · Pull Request #27576 · apache/airflow

In Apache Airflow versions prior to 2.4.3, there was an open redirect in the webserver’s /login endpoint.

CVE
#web#apache#auth

This broke API unit tests, e.g. tests/api_connexion/test_auth.py::TestSessionAuth::test_success:

=================================== FAILURES ===================================                                       
_________________________ TestSessionAuth.test_success _________________________                                                                                                                                                              
                                                                                                                       
self = <tests.api_connexion.test_auth.TestSessionAuth object at 0x7f9d56d4fb10>                                        
                                                                                                                       
    def test_success(self):                                                                                                                                                                                                                   
        clear_db_pools()                                                                                               
                                                                                                                       
>       admin_user = client_with_login(self.app, username="test", password="test")                                     
                                                                                                                       
tests/api_connexion/test_auth.py:143:                                                                                  
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _                                        
tests/test_utils/www.py:27: in client_with_login                                                                                                                                                                                              
    resp = client.post("/login/", data=kwargs)                                                                                                                                                                                                
/usr/local/lib/python3.7/site-packages/werkzeug/test.py:1145: in post                                                                                                                                                                         
    return self.open(*args, **kw)                                                                                                                                                                                                             
/usr/local/lib/python3.7/site-packages/flask/testing.py:226: in open                                                                                                                                                                          
    follow_redirects=follow_redirects,                                                                                                                                                                                                        
/usr/local/lib/python3.7/site-packages/werkzeug/test.py:1094: in open                                                                                                                                                                         
    response = self.run_wsgi_app(request.environ, buffered=buffered)                                                                                                                                                                          
/usr/local/lib/python3.7/site-packages/werkzeug/test.py:961: in run_wsgi_app
    rv = run_wsgi_app(self.application, environ, buffered=buffered)
/usr/local/lib/python3.7/site-packages/werkzeug/test.py:1242: in run_wsgi_app
    app_rv = app(environ, start_response)
/usr/local/lib/python3.7/site-packages/flask/app.py:2548: in __call__
    return self.wsgi_app(environ, start_response)
/usr/local/lib/python3.7/site-packages/flask/app.py:2528: in wsgi_app
    response = self.handle_exception(e)
/usr/local/lib/python3.7/site-packages/flask/app.py:2525: in wsgi_app
    response = self.full_dispatch_request()
/usr/local/lib/python3.7/site-packages/flask/app.py:1822: in full_dispatch_request
    rv = self.handle_user_exception(e)
/usr/local/lib/python3.7/site-packages/flask/app.py:1820: in full_dispatch_request
    rv = self.dispatch_request()
/usr/local/lib/python3.7/site-packages/flask/app.py:1796: in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
/usr/local/lib/python3.7/site-packages/flask_appbuilder/security/views.py:524: in login
    return redirect(get_safe_redirect(next_url))
airflow/www/views.py:159: in get_safe_url
    return url_for('Airflow.index')
/usr/local/lib/python3.7/site-packages/flask/helpers.py:262: in url_for
    **values,
/usr/local/lib/python3.7/site-packages/flask/app.py:2031: in url_for
    return self.handle_url_build_error(error, endpoint, values)
/usr/local/lib/python3.7/site-packages/flask/app.py:2025: in url_for
    force_external=_external,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <werkzeug.routing.map.MapAdapter object at 0x7f9d54a88810>
endpoint = 'Airflow.index', values = {}, method = None, force_external = False
append_unknown = True, url_scheme = None
...
        rv = self._partial_build(endpoint, values, method, append_unknown)
        if rv is None:
>           raise BuildError(endpoint, values, method, self)
E           werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'Airflow.index'. Did you mean 'IndexView.index' instead?

/usr/local/lib/python3.7/site-packages/werkzeug/routing/map.py:917: BuildError

CVE: Latest News

CVE-2023-50976: Transactions API Authorization by oleiman · Pull Request #14969 · redpanda-data/redpanda