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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions