Skip to content

Fix exception triggered by vulnerability probing #221

@rogerdahl

Description

@rogerdahl

The following exception keeps getting triggered, which may be obscuring exceptions that are of concern, so we need to fix this one. It is likely to be caused by calls into auth by attackers probing for vulnerabilities:

    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
    |     with recv_stream, send_stream, collapse_excgroups():
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/contextlib.py", line 158, in __exit__
    |     self.gen.throw(typ, value, traceback)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
    |     raise exc
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in __call__
    |     response = await self.dispatch_func(request, call_next)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/pasta/auth/webapp/main.py", line 193, in dispatch
    |     response = await call_next(request)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/middleware/base.py", line 168, in call_next
    |     raise app_exc from app_exc.__cause__ or app_exc.__context__
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
    |     await self.app(scope, receive_or_disconnect, send_no_error)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/middleware/base.py", line 191, in __call__
    |     with recv_stream, send_stream, collapse_excgroups():
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/contextlib.py", line 158, in __exit__
    |     self.gen.throw(typ, value, traceback)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/_utils.py", line 85, in collapse_excgroups
    |     raise exc
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/middleware/base.py", line 193, in __call__
    |     response = await self.dispatch_func(request, call_next)
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/pasta/auth/webapp/main.py", line 165, in dispatch
    |     return await call_next(request)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/middleware/base.py", line 168, in call_next
    |     raise app_exc from app_exc.__cause__ or app_exc.__context__
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/middleware/base.py", line 144, in coro
    |     await self.app(scope, receive_or_disconnect, send_no_error)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 63, in __call__
    |     await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    |     raise exc
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    |     await app(scope, receive, sender)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    |     await self.app(scope, receive, send)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/routing.py", line 716, in __call__
    |     await self.middleware_stack(scope, receive, send)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/routing.py", line 736, in app
    |     await route.handle(scope, receive, send)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/routing.py", line 290, in handle
    |     await self.app(scope, receive, send)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/fastapi/routing.py", line 115, in app
    |     await wrap_app_handling_exceptions(app, request)(scope, receive, send)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    |     raise exc
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    |     await app(scope, receive, sender)
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/fastapi/routing.py", line 101, in app
    |     response = await f(request)
    |                ^^^^^^^^^^^^^^^^
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/fastapi/routing.py", line 355, in app
    |     raw_response = await run_endpoint_function(
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/pasta/miniconda3/envs/auth/lib/python3.11/site-packages/fastapi/routing.py", line 243, in run_endpoint_function
    |     return await dependant.call(**values)
    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/pasta/auth/webapp/idp/google.py", line 74, in get_callback_google
    |     login_type, target_url = util.login.unpack_state(request.query_params.get('state'))
    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |   File "/home/pasta/auth/webapp/util/login.py", line 206, in unpack_state
    |     return state_str.split(':', maxsplit=1)
    |            ^^^^^^^^^^^^^^^
    | AttributeError: 'NoneType' object has no attribute 'split'

Metadata

Metadata

Assignees

Labels

authAuth ticket

Type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions