aiosmtpd icon indicating copy to clipboard operation
aiosmtpd copied to clipboard

setuid called to early

Open FransSchippers opened this issue 3 years ago • 0 comments
trafficstars

When requesting a system port (127.0.0.1:25) the setuid call is to early. It should be after the listen is completed. In that way a system port can be open and the program can run at a lower security level.

$ sudo python3 -m aiosmtpd -l 127.0.0.1:25
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/aiosmtpd/__main__.py", line 7, in <module>
    main()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/aiosmtpd/main.py", line 276, in main
    server_loop = loop.run_until_complete(server)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete
    return future.result()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/base_events.py", line 1493, in create_server
    raise OSError(err.errno, 'error while attempting '
PermissionError: [Errno 13] error while attempting to bind on address ('127.0.0.1', 25): permission denied

FransSchippers avatar Aug 05 '22 10:08 FransSchippers