Skip to content

[Segurança] GiveMoneyAll/SetBucket sem validação de valor #55

Description

@ggfto

Contexto

Auditoria de bugs (ver BUGS_AUDIT.md). Handlers de dinheiro/bucket sem validação de valor.

Problemas

S-12 — GiveMoneyAll sem validação de valor 🔴

server/misc.lua:461-486. Diferente de GiveMoney (exige amount > 0 e valida o tipo), GiveMoneyAll nunca valida amount nem moneyType. Amount negativo drena o dinheiro de todos os jogadores online; valor não-numérico passa nil a AddMoney e erra o handler no meio do loop.

S-15 — SetBucket passa id string ao native e não valida bucket 🟠

server/misc.lua:378-396. player é passado cru (string) a SetPlayerRoutingBucket (espera int); bucket pode ser nil (sem checagem de range/não-negativo).

Correção sugerida

Espelhar a validação de GiveMoney em GiveMoneyAll (amount numérico > 0, cap, tipo válido). Em SetBucket, tonumber(player) e validar bucket.

Severidade: 🔴 Alto — IDs: S-12, S-15

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingluaLua (server/client) codesecuritySecurity / authorization issue

    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