Fallo de programación en la ElvUI

Ligia

No sé cómo he llegado a este post de reddit esta mañana, en el que se cuenta que hay un problema de "backdoor" en la ElvUI y que alguna gente (los devs posiblemente) podrían aprovecharse de ello para hacernos perrerías.

Está en inglés y yo no estoy muy puesta en esto de programación, así que a ver si alguien nos ilumina con los posibles problemas y si debemos quitarnosla ASAP.

So last night in LFR, a lot of people(myself included) randomly started following one person and posting random things in instance chat like 'this is elv' etc. After LFR i decided to have a look at the ElvUI code and discovered the author actually put a backdoor in it enabling her to post messages to ANY channel and execute ANY console command on behalf of ElvUI users. Below is a screenshot of the elvui core.lua:

Basically the author has flagged her three characters as devAlts (see red outlined code).

The first block of blue outlined code checks for "devAlts[sender] == true" ie a devAlt is sending the command and "devAlts[myName] = true" ie a devAlt is NOT recieving the command then SendChatMessage(msg, channel, nil, sendTo) ie sends a chat message to any channel she wants

The second block of blue code similarly is able to execute whatever console commands she wants to force a user to run.

This is potentially very dangerous, potentially could 'kick' anyone with elvUI she wants from lfg groups, disband guilds etc. There is no need for such a backdoor and the fact devAlts are specifically excluded from being targetted by this system is dodgy. I haven't looked through the rest of the code to determine if the UI is able to access anything other than console or chat but this is really dangerous having a backdoor in a UI so many players use.

To disable this, you must goto your wow install directoryinterfaceaddonselvUIcorecore.lua, ctrl+F find 'Elv-ShatteredHand' and delete all three entries under devAlts so that function should now look like

local devAlts = {

}

while this doesnt disable the backdoor fully, it ensures no one is able to make use of it. I really hope in the future addon authors(and programmers in general) can refrain from placing these backdoors in their code. they serve no legitimate purpose and is generally irritating to remove

Fuente: https://www.reddit.com/r/wow/comments/2jhlzv/psa_elvui_has_a_backdoor_and_how_to_remove_it/

Buffoncete

lo ha quitado en la 7.08

1 respuesta
Ligia

#2 Pues me parece muy antiprofesional por su parte incluir cosas como estas y me da ganas de no volver a usar nunca su UI.

1 respuesta
Buffoncete

#3 tampoco has pagado nada por usarla, no?

no le estoy defendiendo, simplemente es algo a lo que te expones por usar cualquier plugin.

PD: yo voy con default menos las barras que son bartender, y antes usaba engbags para las bolsas pero el nuevo sistema de blizz me está molando mazo.

he estado mirando el elvui y pinta bastante customizable y la peña se hace buenas UIs, muy limpias, quizá lo pruebo xD

Peyru

#1 Por lo que leo parece que el programador se hizo una especie de "anti-afk/addon para hacer el moñas/control remoto de guildies " que solo se activa cuando uno de esos usuarios lo usan.

Lo primero es la declaración de usuarios en los que se activan las "funciones extra"

Luego tenemos un bloque que se ejecuta siempre, lo que hace es checkear si tu versión de elv-ui es la correcta el if dice:
-Si prefijo es "checkea la version" y NO soy uno de los alts del developer y no se ha recibido mensaje de out of date.
Si todo esto se cumple, te pega un mensaje al chat que te dice "existe una nueva version de elvui " etc etc (lo de siempre)

-Si lo de arriba no se cumple pero si se cumple : Que el prefijo sea "developer dice" o "comando developer" (uno de los dos) y el PERSONAJE ACTIVO NO es un developer y el "sender" es un developer: <---(esto ultimo es bastante grave, un developer, cualquiera de los 3 declarados arriba, puede controlarte remotamente)

Aqui es donde parece que está la salsa, la primera parte es para enviar mensajes , mensajes que con el trozo de código que veo no puedo decirte cuales serían , pero vamos, que el UI toma el control de lo que tu dices.
La segunda parte carga una cadena de comandos que el programa ha recibido ( y que tampoco veo pero que podría ser cualquier cosa y la ejecuta. Si el comando se ejecuta correctamente te aparecerá un mensaje en el chat informandote de que todo ha salido bien.

¿por que ha pasado todo esto?

Parece que blizzard ha cambiado el comportamiento de las listas de amigos y de el usuario propio, con intención de joder al OQUEUE, lo que ha ocasionado que los comandos de reconocimiento de usuario dejen de funcionar, y el programa no es capaz de reconocer quien eres, por tanto, el programa "peta" y hace cosas raras.

Esto no parece que estuviera planeado, es decir, el programador lo hizo solo para hacer el moñas con sus colegas y por el parche la broma le ha salido cara.

No veo intención de hacer daño pero para hacer estas cosas se tenia que haber hecho un addon por separado que no cuesta nada. Aunque a todo programador le gusta poner sus cositas.

Pero claro, queda mejor ponerlo bajo el nombre de ELV-UI para poder hacer todas las cositas que quieras y que blizzard no pueda decir nada pues es un addon aceptado por ellos.
Probablemente tuviera otro addon con los comandos preparados.

RESUMIENDO
Uno de esos tres personajes puede controlar lo que dices o haces (en plan marioneta) si tienes el Elv-Ui instalado solo con mandar un comando de orden. Ahora bien, cualquier comando que el ejecute sobre ti aparecerá registrado en tu chat.

Con los cambios del parche se le ha quedado pillado y se ha descubierto el pastel.

HeXaN

En realidad es una chorrada, pero me parece mal que Elv22 no lo haya quitado. A lo mejor era algo para uso personal y se coló en una realease, o era intencionado. A ver qué dice Elv22.

Edit: pues lo dicho.

1 respuesta
Rayven

#6 Es lo que iba a decir yo, tenia toda la pinta de codigo para testeo durante el desarrollo y que se les olvido quitarlo en la release.

Usuarios habituales

  • Rayven
  • HeXaN
  • Peyru
  • Buffoncete
  • Ligia