Skip to content

exploit command fails with grpc InactiveRpcError (signal main thread) #12

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 "<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 132, in _exploit
    exploit = self._run_exploitation_in_container(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/automatic_exploit_generation/exploiters/zeratool/zeratool.py", line 81, in _run_exploitation_in_container
    exploit = self._request_exploitation_to_grpc_service(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/automatic_exploit_generation/exploiters/zeratool/zeratool.py", line 111, in _request_exploitation_to_grpc_service
    response = stub.Exploit(query)
               ^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/grpc/_channel.py", line 1159, in __call__
    return _end_unary_response_blocking(state, call, False, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/krpandrei/andreiOpenCRS/automatic_exploit_generation/.venv/lib/python3.12/site-packages/grpc/_channel.py", line 990, in _end_unary_response_blocking
    raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
        status = StatusCode.UNKNOWN
        details = "Exception calling application: signal only works in main thread of the main interpreter"
        debug_error_string = "UNKNOWN:Exception calling application: signal only works in main thread of the main interpreter"

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