Este exploit ya era conocido por nosotros desde hace varios meses y para evitar crear un problema a los dueños de otros servidores, decidimos no publicarlo en su momento. Sin embargo, recientemente nos llegaron noticias de que determinadas personas estaban haciendo uso de éste, y decidimos publicar el fix.
Este exploit a día de hoy permite crashear completamente (no solo el core, el servidor entero) cualquier servidor privado de Metin2 excepto el WoM2, Gameforge ya lo arregló hace un tiempo.
No voy a explicar como se hace, solamente cómo se arregla. Quien quiera experimentar por su cuenta para descubrirlo, que se lo guarde. No voy a permitir que se de información de este tipo en el foro.
Pasamos a cómo arreglar este bug:
Buscar en game/src/cube.cpp
resultCount = resultList.size();
Y agregar debajo:
if (resultCount == 0)
return;
En el mismo fichero buscamos:
if (false == bCatchInfo)
Y lo sustituimos por:
if (!bCatchInfo || materialInfoText.size() == 0)
Esto es todo. Por la seguridad de vuestros servidores, os aconsejo implementar el fix lo antes posible.