Skip to content

exploit command fails with port is already allocated #7

Description

@krpandrei05

Running the following command:

poetry run automatic_exploit_generation exploit \
  --exploiter=ZERATOOL \
  --elf=examples/test.elf \
  --stream=STDIN \
  --mitigation=NX \
  --weakness=STACK_OUT_OF_BOUND_WRITE

produces the following error:

Traceback (most recent call last):
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/docker/api/client.py", line 275, in _raise_for_status
    response.raise_for_status()
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/requests/models.py", line 1167, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http+docker://localhost/v1.51/containers/cc630e80663b91c84a227a50ed80dda7f4dc29254ae4bcdd40d53980aaf679a2/start

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/automatic_exploit_generation/cli.py", line 133, in main
    cli(prog_name="automatic_exploit_generation")
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/click/core.py", line 1569, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/click/core.py", line 1490, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/click/core.py", line 1970, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/click/core.py", line 1353, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/click/core.py", line 907, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/automatic_exploit_generation/cli.py", line 73, in exploit
    generated_exploit = exploiter.exploit()
                        ^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/automatic_exploit_generation/exploiters/base_exploiter.py", line 52, in exploit
    return self._exploit()
           ^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/automatic_exploit_generation/exploiters/zeratool/zeratool.py", line 127, in _exploit
    exploit = self._run_exploitation_in_container(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/automatic_exploit_generation/exploiters/zeratool/zeratool.py", line 69, in _run_exploitation_in_container
    container = client.containers.run(
                ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/docker/models/containers.py", line 883, in run
    container.start()
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/docker/models/containers.py", line 420, in start
    return self.client.api.start(self.id, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/docker/utils/decorators.py", line 19, in wrapped
    return f(self, resource_id, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/docker/api/container.py", line 1136, in start
    self._raise_for_status(res)
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/docker/api/client.py", line 277, in _raise_for_status
    raise create_api_error_from_http_exception(e) from e
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/docker/errors.py", line 39, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation) from e
docker.errors.APIError: 500 Server Error for http+docker://localhost/v1.51/containers/cc630e80663b91c84a227a50ed80dda7f4dc29254ae4bcdd40d53980aaf679a2/start: Internal Server Error ("failed to set up container networking: driver failed programming external connectivity on endpoint stoic_hypatia (936428a3f90d5adb04649f7e019b13b48aff416d9b2116bf1138428ce42a72ee): Bind for 0.0.0.0:13000 failed: port is already allocated")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions